2019-09-16 17:39

@飞翔的灬格仔 下载未修改主的模板是啥意思? 模板为啥可以下载呢?

2019-09-16 17:38

部署时为什么会出现 jetty , 注意将这些依赖删除干净,或者将其在 pom.xml 中的 scope 配置成 provided,这样就不会打包进去

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-16 11:52

stuCode 是一个字段,为啥不先为这个字段生成好值以后,一次性 update stu set stuCode #(stuCode) where ....

2019-09-15 10:16

UserBean 需要实现 java.io.Serializable 接口

public UserBean implements Serializable {
...
}

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 15:50

这个变量在老版本中是为了支持对于已存在的对象进行 AOP 的,例如:
User user = new User();
Enhancer.enhnace(user);

也就是说,对象的创建是用户自己,对象的增强是 jfinal。但是这个功能从来没有人反馈使用过,所以这个参数在后来的版本中去掉了

新版本只支持对接管对象进行增强,例如:
User user = Aop.get(User.class);

也就是说,对象的创建是交给 jfinal ,才能被增强。注意,新版本使用 Aop 完全取代了老版本的 Enhancer

2019-09-12 11:59

@旧城以西 这个取决于 json 转换使用的工具, jfinal 自带默认工具,转换时不依赖 model 的 getter 方法

而你自己的转换工具依赖于 getter 方法,假如你的 model 没有使用生成器生成 getter 方法,肯定转换不出来任何数据

具体多看一下文档,很简单的原理:
https://www.jfinal.com/doc/12-1

2019-09-12 11:57

刚看了一下最新版 jetty-server 源码,scanIntervalSeconds 这个参数看不出来对 JSP 支持有任何影响

如果你不想要热加载,将 scanIntervalSeconds 改成一个十分大的数也可以,例如 999999

2019-09-12 11:51

对方问你 "管理类" 应该改成 "管理对象"

在 jfinal 中,AopFactory 用来管理对象,她可以自动化处理 singleton、prototype,使用 @Inject 后可以自动化注入

根据 @Before 可以自动化处理拦截,稍微了解一下 aop、proxy 这两个包下面的代码就很清楚了

2019-09-12 11:48

PropKit 没有与环境变量关联

2019-09-12 11:46

如果从数据库源头就是驼峰的,无论你用哪种方式都是完美的,整个世界会很美好

数据库字段与代码变量命名形式的不同,只不过是历史原因与习惯问题,我在 mysql 中用驼峰命令字段超过八年了,爽得不得了

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(...) 即可