2020-08-16 14:00

@山东小木 我现在推送一个新版本, 没有要提交的吧?

2020-08-16 13:11

@山东小木 view_miniprogram 有关支持,我看到就添加了一行常量代码:
public static final String EVENT_INMENU_VIEW_MINIPROGRAM = "view_miniprogram";

这行代码难道就是一个功能?

@jiren 如果这行代码仅仅只是一个常量定义,在 jfinal weixin 2.6 中应该可以自行添加这个常量来使用,不必等到 jfinal weixin 2.7

如果这行常量定义确实实现了功能,今天我推送一版到 maven 中心库

2020-08-15 15:56

@傲泪无痕 你的 js 部分调用了: memberlist( #(x.memberList) )

memberlist 是一个 js 函数,此时参数为 js 参数,然后你在 memberlist 函数内部再通过 # for 指令对该 js 参数进行迭代,显然是错误的

js 与 enjoy 的工作有一个先后问题,enjoy 工作在先,js 工作在后,而这个先后不能倒置,更不能穿插

enjoy 工作在后端的 java 虚拟机, js 工作在浏览器中的 js 解析器

要理解这个问题,最简单的办法是,在浏览器中右键打开当前页面的 html 源码,看看里头的 js 最终生成的结果就知道了

你会看到,浏览器中只有 js ,没有 enjoy 代码

2020-08-15 10:41

@buerxuezai 好多人一说用啥第三方,就想要去整合,其实哪有什么整合,直接使用多好

就好比你在写 java 代码时,调用一下 JDK 的 API , 哪来的整合动作?

2020-08-14 21:32

@chcode Extension Method 不支持子类,因为站在 enjoy 的角度是否法预知子类有多少个的

当你需要子类也同时拥有这个扩展功能的时候,再多添加一行配置,将子类也配置进去就可以了

2020-08-14 21:30

思路不错,赞一个

2020-08-14 21:29

jfinal 是 web + orm 框架,本质上来说,你可以在 jfinal 中直接使用任何第三方,并不需要有个整合动作

分别学会使用 jfinal 与 elastic-job,然后一起用上即可

2020-08-14 21:27

@RichardHe maven 还是安全的,因为国内大厂早就有所准备,不依赖外部,例如阿里就有自己的 maven 中心库,我一直在用

2020-08-14 21:24

@冰雨 jfinal 有一套把控代码质量的方法,大致有:
1:极简设计是根本。好的设计可以将代码修改、新增功能都控制在尽可能小的范围内,每次只需要控制一个小范围的代码质量即可。 想想反面情况: 不好的设计牵一发而动全身,这种代码,哪都不敢动它一下,改了某个地方,另一个地方或多个地方冒出来 bug

2:对代码变动、新增的地方,使用 debug 的方式来测试。 每一次测试通过在 eclipse 中手动修改变量的值,让代码覆盖每一个分支,确保对代码进行全覆盖式 debug 测试。 很多人不知道 debug 功能可以动态修改行动中的变量值

3:复杂代码写两次。 有些功能很复杂,涉及各种场景、情况,第一次写的时候很可能不是最优代码,等过了一段时间以后,脑子里很可能冒出来更好的写法,最近的一个典型例子是:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/template/stat/Compressor.java

上面的 Compressor 压缩功能,第二次写出来的代码即简洁又高效,功能还比第一次的要强大

4:提交代码时,利用 git 或者 svn 的代码同步功能,细心对比,最后再看一遍是否有问题

5:jfinal 新版本先在公司内部项目以及 jfinal.com 官网试用,试用一段时间,看一下日志文件,是否出现了异常,确保没有问题以后再发布到 maven 中心库供同学们使用

你可以访问一下 https://jfinal.com/a/a/a/a,会发现最新版本的 jfinal 总是我自己在使用,我用着没有问题以后再让大家用上最新版。

开源作者本人第一个使用,这才是有道德、负责任的做法。

而不是用开源出来让其他人帮忙测试,测试没问题以后再开源作者自己使用。

2020-08-14 21:04

@李通 这个功能确实可以有,有点担心骚扰到用户

2020-08-14 21:03

先使用你自己的分页 sql 用一下:
Db.find(sql, paras);

确保性能是好的,再用于分页:
Db.paginate(...);

因为性能取决于你的 sql 而不是分页

2020-08-14 21:01

@RichardHe jfinal_demo_for_maven 相当于是 jfinal boot 了

2020-08-14 21:00

@绝对零度 有 PostgreSqlDialect() 可以使用,会针对 postgresql 生成 sql

2020-08-14 20:59

推荐使用 useFirstFound 而非 append 与 appendIfExists ,因为前者更要求配置文件的全面性,与实际应用场景比较切合

jfinal 4.9.01 版本新增了对于 get 方法的 trim() 操作,这样就可以避免 value 值的后面会不小心多一个空白字符,减少麻烦

此外,配置的时候,等号前后两侧可以留一个空格,即便是老版本 value 值也并不会多出一个空格,新版本添加 trim() 以后就更不会多出空格了