2019-08-05 11:13

@阿龙 @年少 升级到 jfinal 4.3 试一下,这一版本改进过 #escape 指令,并且已发布到 maven 中心库。

注意要先根据第一条回复中的办法用上 JdkEncoder

jfinal 4.4 已经添加了一个 Engine.setToJdkEncoderFactory(), 当前的版本暂时用我的第一条回复中的扩展方式:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/template/io/JdkEncoderFactory.java

2019-08-02 17:51

Aop 是面向业务层来设计的,而业务层建议无状态,便于做分布式和集群

无状态也就没有属性,也就不会有构造方法带参的需要了

或许有个别地方需要业务层构造方法带参,那么可以使用 addSingletonObject(...) , 这种形式只支持 singleton, 你的理解是对的

2019-08-02 17:48

使用下面的命令启动:
./jfinal.sh start

不过按理说这两个命令是等价的,或许是里头的脚本对 sh 命令的兼容不太好

2019-07-31 21:59

@cs3230524 @Inject 是在 3.5 左右的版本加入的,升级很方便,建议升级,这里有详细的升级文档:
https://www.jfinal.com/doc/14-1

2019-07-31 21:58

按照文档第一章来解决:
https://www.jfinal.com/doc/1-5

注意上面文档中的下面这一小节:
4、类型转换异常、子类对象无法赋值到基类变量

别忘了搞这后回来反馈一下

2019-07-31 18:10

文档中有过说明:
https://www.jfinal.com/doc/3-3

2019-07-31 15:22

这两个指令默认可用,直接用就好,不需要配置

2019-07-31 15:21

定义一个函数解决:
#define comma()
#if ( firstTime == null) #set(firstTime=true) #end
#if (firstTime) #set(firstTime = false) #else , #end
#end

用的时候这样:
UPDATE
zyzuser
SET
#if( zyzName && zyzName != '' )
#@comma() zyzName = '#(zyzName)'
#end
#if(sex && sex !='' )
#@comma() sex = '#(sex)'
.....

当然,你这样多个 if 的用法并不赞同,对这种情况定义一个函数传参搞定是最好的

2019-07-31 14:21

建议在开发的时候配置两个地方:
1: pom.xml
2: 整个 eclipse 工作空间,而非针对某个项目

2019-07-31 14:20

像是编译参数的问题。

编译参数可以在多处配置,检查一下这几处,以免不同时机下用的是不同的编译参数:
1:点击 eclipse 的菜单对整个 eclipse 进行配置,截图就如你在贴子中给出来的一样
2:在项目上点击右键,选择属性,进行配置,截图也如你在贴子中给出来的差不多
3:在 pom.xml 中配置 -parameters,参考官网首页提供的 jfinal demo for maven 的 pom.xml 中的 -parameters 配置

以上三处的配置在不同的条件下被触发时,如果有哪一个未正确配置就有可能有问题

2019-07-31 09:24

所有历史版本包括源代码都在 maven 中心库可以下载到:
https://mvnrepository.com/artifact/com.jfinal/jfinal

jfinal 3.5 版本之前支持 JDK 1.6

jfinal 3.5 版本开始,不再支持 JDK 1.8 之前的版本,也就是说从 JDK 1.8 起步

2019-07-30 20:46

文档很详细:
https://www.jfinal.com/doc/3-3

2019-07-30 20:46

不需要,已经集成进去了

2019-07-30 15:24

arp.setDialect(new OracleDialect());

2019-07-30 11:56

这里要用 Aop.get

因为你的 InitClassTransactionJob 对象的创新者不是 jfinal ,那么 jfinal 就没有机会去进行依赖注入,在文档中有过详细的说明,注意看红色粗体字:
https://www.jfinal.com/doc/4-5