2019-06-13 15:42

如何支持 Validator 验证能否给出点实际代码,在这个贴子里补充内容即可

2019-06-13 15:41

这是高手,点赞 + 收藏

2019-06-13 15:34

@诸葛文毅 @canca 仔细看一下这一章的文档 @Inject 是有各种用法的:
https://www.jfinal.com/doc/4-6
https://www.jfinal.com/doc/4-5

2019-06-13 15:32

更规范的代码是:
Engine engine = Engine.use();
engine.setDevMode(true);
engine.getTemplate(indexTempletePath).render(map, indexPath);

2019-06-13 15:31

Engine engine = new Engine() 这行代码改成:
Engine engine = Engine.use();

否则你后续的 engine.use().getTemplate(indexTempletePath).render(map,indexPath) 这行代码中使用的 Engine 对前与你前面 new Engine() 创建的 Engine 完全无关

java 基础

2019-06-13 12:08

@bafurei jfinal 的 Controller.render(Render render) 方法是开放式结构,可以任意扩展出自己需要的 Render

默认的 CaptchaRender 无法在你的 ubuntu 上使用,找一个第三方的代码扩展出一个 MyCaptchaRender 出来就挺好

2019-06-13 11:57

@zhongloyal 还是不对,info(+) 这种东东从来就没有过

第一行文字中是黑黑的一行,里面没东西,如果提问都这么马虎,那回答者没有理由回复

回答者还在要求你如何将问题改对,要求提供信息量,这个是很不可思议的事情

2019-06-13 11:41

代码缺失,修改这个贴子,注意贴代码时,先选择左上角的 "代码语言" 这个下拉,然后选择 java

然后将代码复制到暗色的区域,就不会丢失代码

2019-06-13 11:32

在你的项目中发现了这个:
https://gitee.com/y2h/EnjoyMysql/blob/master/doc/jfinal_engine.txt

小小一页纸的内容,使用 enjoy 过程中碰到想不起来的地方时,翻看一下可以快速找到需要的知识点

极好极好

2019-06-13 11:32

在你的项目中发现了这个:
https://gitee.com/y2h/EnjoyMysql/blob/master/doc/jfinal_engine.txt

小小一页纸的内容,使用 enjoy 过程中碰到想不起来的地方时,翻看一下可以快速找到需要的知识点

极好极好

2019-06-13 11:12

@bafurei 可能是 ubuntu 的少了字体文件,或者是图片 api 支持有问题

试试这个:
render(new com.jfinal.ext.render.CaptchaRender("_jfinal_captcha"));

也可以自己扩展一个 CaptchaRender 出来,然后
render( new MyCaptchaRender());

2019-06-13 10:13

@Aizen 单步调试进入内部,看看发生了什么

2019-06-12 22:46

@成陈 事务问题比较复杂,如果你用的 mysql , 首先要检查当前 table 是不是 InnoDb 引擎,myisam 引擎不支持事务

然后,你的 Db.tx 中有没有吃掉过异常,也就是说有没有 try catch,并且没有再次抛出异常

然后,Db.tx 中的数据库操作是不是将数据从数据库读到内存,然后在内存中操作,再写回数据库,这种操作需要的事务级别较高,例如:
Db.tx(...
int cash = Db.queryInt("select cash from account where id = ?", 123);
cash = cash + 100;
Db.update("update account set cash = ? where id = ?", cash, 123);
return true;
);

由于上面操作 cash 字段是先读到内存中进行,然后再存回数据库,所以需要的事务级别很高,否则会现现幻读

改进的办法是:
Db.tx(...
Db.update("update account set cash = cash + 100 where id = ?", 123);
return true;
);

也就是说,所有真正的数据操作全交给了数据库,不经过内存

2019-06-12 22:35

@iamdego 看到你很多这方面的问题,加入俱乐部吧,大量可以帮助你的实际代码可以使用

一看全明白了,节省很多学习时间

2019-06-12 22:33

真正有用的异常信息没有贴出来

最有用的是 cause 这部分,才是原因