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: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:01
@RichardHe jfinal_demo_for_maven 相当于是 jfinal boot 了
2020-08-14 21:00
@绝对零度 有 PostgreSqlDialect() 可以使用,会针对 postgresql 生成 sql