2019-09-16 17:34
异常已经很清楚了:
com.jfinal.template.TemplateException: "loginAccount" can not be null for accessed by "loginAccount.nickName"
Template: "/_view/_admin/common/_header_right.html". Line: 7
也就是说 loginAccount 这个对象为 null , 所以你的 _header_right.html 中的 #(loginAccount.nickName) 必然会有异常
loginAccount 这个对象一般是在拦截器中设定的,如果没有登录成功,那么这个对象为 null,所以需要改成:
#(loginAccount.nickName ??)
注意最后面的双问号,不添加这个双问号,在 loginAccount 为 null 时就一定会抛出异常
2019-09-12 17:02
@xiaoyaozi 可能是多个版本的 fastjson 有冲突
用到 jfinal weixin 项目的 MsgController 时,需要在 configRoutes 中配置 me.setMappingSuperClass(true)
升级一定要先看文档,内容极少, 5 分钟看完足够了:
https://www.jfinal.com/doc/14-1
2019-09-12 11:59
@旧城以西 这个取决于 json 转换使用的工具, jfinal 自带默认工具,转换时不依赖 model 的 getter 方法
而你自己的转换工具依赖于 getter 方法,假如你的 model 没有使用生成器生成 getter 方法,肯定转换不出来任何数据
具体多看一下文档,很简单的原理:
https://www.jfinal.com/doc/12-1
2019-09-12 11:44
@doubuxingle MixedJsonFactory 与 JFinalJsonFactory 会将 getter 方法当成不存在,所以不依赖于 getter 方法转 json
而 FastJsonFactory 只处理 getter 方法来转 json
具体到你的场景,建议使用 jfinal 的生成器先生成 getter 方法,然后配置成:
me.setJsonFactory(new FastJsonFactory());
至于关联查询得到的字段,如果你希望还是得到驼峰形式的字段名,手动在最终的 Model 中适当添加 getter 方法即可
如果为了省事,对于关联查询得到的值,使用非驼峰
2019-09-12 08:05
@doubuxingle 我自己的项目是这么来用的:
1:me.setJsonFactory(new MixedJsonFactory());
2:数据库字段弄成驼峰形式
2019-09-10 23:08
@码农 注意看一下这篇文档:
https://www.jfinal.com/doc/4-5
其中讲到了注入的一些原理
再一个,建议在 AopFactory 中设置断点,调试进去看看程序走向,一定可以解决的
我估计是因为对象的创建并不是 jfinal 接管的,所以不能使用 @Inject ,这种情况使用 Aop.get(...) 或者 Aop.inject(...) 即可