2019-11-08 15:25

这个代码貌似与 jfinal 无关,而且代码里头并未表达出什么特别的意思,仅仅只是几个简单的方法调用而已,也没有复杂的逻辑

2019-11-08 15:24

啥意思?

2019-11-08 15:23

在 jfinal 俱乐部专享群里面有下载,建议加入俱乐部:
https://www.jfinal.com/club

两个字:超值

2019-11-08 15:23

价格低了

2019-11-08 15:22

jfinal 十分重视版本兼容性,2.1 升到 4.3 很轻松,官网还提供了详细的升级文档:
https://www.jfinal.com/doc/14-1

2019-11-08 15:20

@鼻涕刘o0 高版本 jfinal 为了 tomcat、jetty 下的安全性,默认无法直接访问 JSP 文件,需要配置一下才可以直接访问:
public void configConstant(Constants me) {
me.setDenyAccessJsp(false);
}

2019-11-08 15:19

JFinal + ActiveMQ 的分享极为稀有,谢谢你的分享,赞

2019-11-08 15:18

贴主认为 "不用继承" 是属于轻量级框架的一个特征,这个肯定是误解

spring、struts 这类 web 框架的 controller 确实可以不用继承就可以实现,但是必然会在 action 中出现对于类似于 ActionContext、ActionSupporter 等等之类的组件的依赖

也就是说,侵入性只是换了一种方式,但是不可能完全消除

从根本上来说,你使用某个框架,就必然对其组件有所依赖,也就必然有侵入性,只是侵入的方式有所不同

那么我们所说的追求的少侵入性或者无侵入性到底是什么呢?
做好业务层,让业务层对框架无依赖,这个在侵入性方向的努力才是对的,业务层在未来可以拆分出来换到不同的 web 框架中使用

最后,退一步讲,极少情况会出现将 controller 中的代码迁移到另一个 web 框架中使用的情况,所以完全无侵入性其实没有什么意义

继承可以带来很多好处,试用一下 jfinal 的 controller 就会知道,一个简单的继承立即拥有了十分之多的可用方法,让开发变得非常便捷

2019-11-08 15:09

参考这篇文章中的回复,十分详细:
https://www.jfinal.com/feedback/3500

2019-11-08 15:08

先检查一下是不是 sql 有错误:在 mysql 控制台先手动执行一次该 sql

确认 sql 没问题以后,注意这个异常:
java.sql.SQLException: sql injection violation

或许是你用的 druid 的 WallFilter 拦截了该 sql,认为该 sql 是有危险的,去除 WallFilter 试试

2019-11-08 15:06

异常提示:
Posted content type isn't multipart/form-data,

检查提交是不是被做了 302 重定向:
https://www.oschina.net/question/816381_108867
https://www.oschina.net/question/941098_93842

2019-11-08 15:04

谢谢分享

2019-11-08 15:01

肯定是拦截器拦截了该请求,t1() 方法中的 renderNull() 并未真正被调用,单步调试验证一下

2019-11-08 15:00

跨库事务是分布式事务的范畴,jfinal 目前不支持分布式事务

分布式事务建议使用 sharding jdbc 这类中间件来解决

2019-11-08 14:59

@xiaoxxin6140 @爱小乖 在使用 SessionInViewInterceptor 时再多传入一个 true 参数,例如:
me.add(new SessionInViewInterceptor(true));
传入 true 参数是让拦截器在获取不到 sesion 对象时,立即创建一个,进而这个 session 永远不为 null,进而 session.user 才不会抛出空指针异常

如果不传入这个 true 参数,那么使用的时候需要用双问号表达式,例如:
#if(session.user ?? !=null)
因为双问号表达式可以在 session 为 null 时避免空指针异常,双问号表达式的文档见这里:
https://www.jfinal.com/doc/6-3