2017-03-06 11:28

这个贴子是在问问题,还是在分享呢? 如果是分享需要发到分享频道去

2017-03-05 20:42

还没顾得上呢,这个一直在考虑如何来做,感谢你的建议

2017-03-05 15:46

这个异常是在表述,tomcat 在关闭时由于 JDBC 驱动 unregister 失败,为了避免内存泄漏对其进行了强制 unregister 操作

这种情况,通常是由于在项目之中存在非 daemon 类型的线程,所以在 tomcat 使用 shutdown 命令时并不能真正关闭 tomcat

解决办法极其简单,找到那个非 daemon 线程,将其改为 daemon 线程即可。寻找的办法可以是在 eclipse 时启动项目,观察所有启动的线程类型即可知道

2017-03-05 15:39

这个问题,一句话两句话说不清楚,建议加入俱乐部,可获取现成的代码,直接使用即可:http://jfinal.com/club

2017-03-05 15:38

@爱小乖 感谢支持

2017-03-05 12:18

forwardAction 是后端转发,所以当前 action 与 被跳去的 action 仍处于同一次请求之中,request 对象中的一切都原封不动的在那里

2017-03-05 12:17

handleError 被调用,意味着本次请求的验证逻辑已经失败,通常是直接 render 到某个页面,或者 renderJson 返回数据,在 handleError 中使用 forwardAction 的玩法从来没有见到过

forwardAction 是后端的转发,所以 request 中的参数天然就是在那的,所以“请问怎样才能跳转到另一个action还保留参数啊?”这个问题自身就是不存在的

2017-03-05 01:07

@wang sharedMethod 扩展以后的用法是在表达式之中直接调用方法,例如:
#if(isBlank("abc"))...
其中的 isBlank 来自于 StringKit

除了要注意用法以后,要特别注意方法的参数个数与参数类型是否匹配,如果不匹配则会报出:Shared method not found 这个异常,这个异常确实报得不太友好,jfinal 3.1 已经改进了这里,会明确告知除了方法名可能错以外,方法的参数匹配不上也会报出来

2017-03-04 16:59

@fengting jfinal 手册第一章介绍了如何升级,其中谈到了这点,搞定了没?

2017-03-04 16:48

如果是用的 IDEA,并且是用的 jfinal 集成的 jetty 启动项目,使用如下代码:
JFinal.start("WebRoot", 80, "/");

而不要使用如下代码:
JFinal.start("WebRoot", 80, "/", 5);

也就是说,IDEA 下的启动少了最后一个 int 型参数,这是由于 IDEA 启动时无法切换成 jfinal 自定义的 classloader 引发的,下载首页的 jfinal demo,看一下 DemoConfig.main() 方法中的说明文字

记得搞定后再回复一下该贴

2017-03-04 11:43

配置一下 ActiveRecordPlugin,代码如下:
arp.setContainerFactory(new OrderedFieldContainerFactory());

2017-03-04 11:33

@坚强的地瓜 这篇贴子就是在 jfinal 3.0 还没发布时发的,所以是一定可以用的,再多试试

2017-03-03 23:21

@nelsonnick Db.paginate 其中的参数仍然是 sql,所以也可以用 template engine,但并没有提供针对性的支持,下一版本 jfinal 3.1 会提供针对性的支持

2017-03-03 20:22

@程序小小白 这种用法非常之普遍,一定是可以的,具体报什么错误要贴出来,根据异常信息去解决问题

此外,一般是将参数额外传进去:
Db.update("delete from user where power=?", power);
不要将参数拼接在 sql 字符串之中