2017-06-02 12:01

有部分想法是很不错的,例如坚持轻量级 COC 与极速开发原则,数据库访问优化,都一直在做的事

有些东东持谨慎态度,例如微服务的支持,本质上 jfinal 可用于微服务架构中的每个微服务之中,哪怕你的某个微服务没有用到 web 模块,用一下 active record 以及 template engine 也是可以的

而微服务更多内容是各服务的治理以及连通的事情,这个已经超出了 jfinal 原本的定位。如果开发者确实很有需求,也只会做成扩展功能

jfinal 一直定位于 web mvc + orm,其他的功能几乎都是对第三方进行的极薄封装,例如 cache、druid、redis 之类的封装

要做到极简,就必须保持克制。jfinal 的发展坚持生物进化规律,在 DNA 被复制时产生变异,保留好的变异,随着认知的提升去掉原来不好的东西,拥抱变化,拥抱不确定性,随着时间的推移,逐步进化成更加先进的物种

2017-06-01 23:22

如果 sql 的最外层有 order by 子句,则在使用 paginate 的时候,为 isGroupBySql 参数给定 true 值即可

这个地方不会有问题,可能是你碰到的场景比较少,对此有误解,多用用就知道 jfinal 对这块的处理是很合理的,不会有错

2017-06-01 23:19

这个看不出啥问题来,就是这么用的,估计是什么特别的原因引发的,例如拦截器拦截了,没走 setAttr("oid", orderid) 这行代码,而是直接奔着页面去了

2017-06-01 23:16

生成器是通过反射拿到 table 去生成的 model,根据异常来看是拿到了系统的一些表,参考下这个贴子中的解决办法:http://www.jfinal.com/share/211

2017-05-31 16:28

这个需要扩展出一个你自己的 Json 实现类,然后用 JsonFactory 让你自己的扩展生效

大体的思路看看 fastjson jackson 这类第三方有没有现成的配置或者注解去解,如果没有的话,你还可以通过的展一下 JFinalJson 实现类,改掉里面的对 Long 型数据转换的规则

2017-05-31 15:59

@斯坦福桥 jpress 官方也转向 jfinal 模板引擎了,即将发布 jfinal template egine 的 jpress 新版本

2017-05-31 15:06

感谢你的分享,建议所有人都用上 jfinal 发布在 maven 中的最新 cos 版本:
cos-2017.5.jar

在本站首页的右测也可以下载 jfinal 3.1 all 这个 zip 文件来获取

2017-05-30 12:26

其实我也有这个疑问,呼出 1.9 版本的春梦大神 @如梦技术 @dreamlu

2017-05-30 12:23

@leashi 这个当然是正常的,用 html 注释包住模板引擎指令当然会被输出

如果不希望输出,可以用一下 jfinal template engine 提供的两种注释方法:
1:单行注释:### 这里是被注释的内容
2:多行注释:
#[[
这里是被注释的第一行内容
这里是被注释的第二行内容
]]#

如果仍然希望用 html 注释包含住的指令不被输出,可以用下面这种方式来注释
### <h4>#(demand.student)</h4>

2017-05-29 17:58

麻烦把具体的内容放到贴子中,我在本地测试一下。 应该是没问题的,注释也是被严格测试过的,就连注释所占用的当前行的换行符都是被细致处理过的

2017-05-29 10:31

@Han_JiaLin 没错,建议在本站首页下载 jfinal 3.1 all 这个 zip 包,里面有我刚刚上传的最新版本的 cos.jar 包,新版本可支持多 input 域使用相同的 name,还支持 getFiles() 多文件上传时保持文件次序

2017-05-28 18:45

@杜福忠 此外,即便是用 ehcache ,也可以通过配置集群来实现数据同步,也可以学一下 oschina 红薯的开源项目 j2cache 让 ehcache 与 redis 配合实现集群

2017-05-28 18:44

@JFinal 就算你只用一个 RedisPlugin 实例,你也可以将 Ehcache 的 cacheName key 的形式转换成 redis 的 cacheName + key,将这个值的整体当成是 redis 的 key 来用

2017-05-28 18:42

@杜福忠 记得搞定后再回来分享一下,你这么来玩肯定是搞复杂了

2017-05-28 18:42

@杜福忠 多个 Cache 也不用这么玩啊, redis 是有库的概念的,为不同的 cacheName 分配到不同的 redis db 就可以了,为每个 cacheName 创建一个 RedisPlugin 对象就可以了