2020-08-06 17:36

Validator 中的 validateXxx 系的方法不支持 getRawData(),但是你可以像下面这样使用:

protected void validate(Controller c) {
String json = c.getRawData();
Map map = FastJson.getJson().parse(json, Map.class);

if (map.get("nickName") == null) {
addError("msg", "昵称不能为空");
}
....
}

也就是说,你可以在 validate 方法中通过 if 判断 + addError 来实现定制功能

2020-08-06 10:08

@贺月月 基本照抄现有的 CaptcahRender()即可

2020-08-05 15:40

@lang重名 其实我很希望 jfinal 代码能去除这类功能性代码,但作为一个可用于千变万化场景下的通用 web 框架,有些较强烈的需求不得不满足

2020-08-05 15:09

有不少同学提出需求,需要掌控 configPlugin 被回调的次序,你通过 me.setConfigPluginOrder(int) 方法就可以调整次序了

该方法在代码中的注释如下:
/**
* 配置 configPlugin(Plugins me) 在 JFinalConfig 中被调用的次序.
*
* 取值 1、2、3、4、5 分别表示在 configConstant(..)、configInterceptor(..)、
* configRoute(..)、configEngine(..)、configHandler(...)
* 之后被调用
*
* 默认值为 3,那么 configPlugin(..) 将在 configRoute(...) 调用之后被调用
* @param 取值只能是 1、2、3、4、5
*/

2020-08-05 15:07

@_imlzw_ 估计是你的项目在哪里动了 ClassLoader 才出现的这个问题

正常流程使用 jfinal 从来不会出这个问题

2020-08-05 11:44

@空指针 换上 mysql 8 的 JDBC 驱动即可

2020-08-05 10:56

你的表达式看着是对的,可能有啥其他原因

改成 0-59/2 * * * * 试试

2020-08-04 15:16

@jfinal爱好者22 在 controller 中通过 @Inject 可以注入,也可以通过 Aop.get(...) 实现

2020-08-04 15:15

@流觞w曲水 代码挺简洁的,赞一个

修改代码格式,尤其值得赞赏

2020-08-04 10:00

@happyboy 但 4.9 是长期版本,会与 5.0 长期并行迭代,这样就不够了

2020-08-04 09:58

@playsex jfinal 发展依靠演化,所以当前我也不知道有什么改进

需要等到进化发生的时刻才知道

2020-08-04 09:12

而,如果定为 4.9.01 , 则任何人都可以区分 4.9.30 与 4.9.20 哪个版本更大

2020-08-04 09:11

5.0 是大版本升级,将会有比较大的改变,而5.0 之前的版本将会进行两位数的小版本迭代,也就是留有从 00 到 99 的 100 个版本迭代的空间可以使用

如果定为 4.9.1,那么 4.9.3 与 4.9.20 哪个版本大? 容易让人造成误解