2016-10-08 12:07
Validator 主要用于 POST 提交的表单请求,尤其是表单域多的请求。对于每一个字段的验证本质上就一行代码,如:validateInteger(...)
Validator 中可以获取 actionKey、controllerKey 等数据,所以可以将大量的验证写在同一个 Validator 中,然后用 actionKey 做一个统一的分发,不需要为每一个 action 写 Validator
再退一步,你可以利用 Validator 或 Interceptor 加载外部用于验证的配置文件,这就回退到了 SSH 时代
此外,假如是 GET 或者请求中的字段很少,直接在 action 中做个简单的判断 render 到特定的地方就好,不需要创建Validator
jfinal 的 Validator 有还有很多考虑,例如 API 引导式验证,你在敲入 validateString(...) 这类代码时如果出现手误 eclipse 会提示你,比 SSH 时代用 xml 配置验证要舒服很多,其它一些考虑在此就不赘述了
2016-10-06 10:58
@lyh061619 始终记得 jfinal 是通过监控 classes 目录下的文件变化来热加载就好,一切问题都明白了
2016-10-03 22:46
以前想过添加,一直没有合适的名字,因为与 cache 相关的方法名有: findByCache、paginateByCache,所以缓存有关的都是在原有的方法名上添加 ByCache。进而可以得出 findById 的带 cache 的方法应该是 findByIdByCache 貌似不太好,而且 findByIdCache 也不太好
所以,这个方法就一直没有添加,而是建议开发者用一下:findFirstByCache 来顶一顶, findByIdFromCache(id) 这个设计与前面的 findByCache、paginateByCache 不成系列,所以没引入
2016-09-30 20:23
@happyboy 这个不同的数据库要做出不同的处理,先处理 mysql,判断有没有 limit ,有则不处理,无则在末尾添加 limit 1。当然,如果出了问题,用户可以通过扩展 MysqlDialect 来改变行为