参数注解中少写一个value的改动

1. com.jfinal.core.paragetter.Para的String value()改为String value() default "";

2. com.jfinal.core.paragetter.ParaProcessorBuilder的createParaGetter中,

在parameterName = para.value().trim();前添加if (StrKit.notBlank(para.value()))

这样在写参数注解的时候, 如果http参数名和Controller参数名一致, 可以只写defaultValue不写value

好处就是参数列表看起来短了一些


不改动jfinal的jar包进行此改动的做法为复制这两个类的java文件到自己的项目, 保持包名不变, 对java文件内容进行上述修改

评论区

JFinal

2019-08-12 21:41

刚已做到 jfinal 4.4 并提交了,试用一下后再来反馈:
https://gitee.com/jfinal/jfinal/commit/de7d1ccf3f246a712fc42dbc9f7b16d0dd7c328b

谢谢你的建议

JFinal

2019-08-14 12:11

补充一下, default 不能设置为空字符串,因为该值有别的用处,例如:
public void action(@Para("")User user) { …. }

参见文档:https://www.sojpt.com/doc/3-3

最新解决方案如下:
https://gitee.com/jfinal/jfinal/commit/8d66c33118fa39a773f7121cd15115c16a4befc3