形参默认值问题

在使用jfinal形参,有个问题怎么设置默认值,以前用getPara可以这样getPara("", ""),但是当使用形参时咋设置默认值。

另外还发现一个问题:JFinal形参支持是需要在ide或maven配置-parameters才能支持形参,这虽然只是个简单配置,但在开发项目中就一件费力的事情,如果稍不慎就会有一个现象发生,那就是接收不到参数,这个现象只能说一半是提供方案不友好,另一半则是人为过失造成的失误;比如在执行项目清理时ide并没有把原编译过的文档清理干净然后重新编译,怎么都接收不到参数,只能手动删除编译文件,虽然重新编译才行,虽然这个只是一个很小的问题,但往往就是这么个小问题把你折腾得不行。

评论区

JFinal

2018-11-04 10:25

用 @Para 注解即可,例如:
public void action((@Para(value = "userName", defaultValue="james")String userName) {
...
}

EATI001

2018-11-04 10:56

@JFinal 谢谢老大,还有一个问题,如果默认值是int或其他类型呢?看了下,@Para
的defaultValue是string类型的,是否是修改成Object类型会更好?

JFinal

2018-11-04 12:31

@EATI001 全部用 String , jfinal 会帮你自动转换

EATI001

2018-11-04 12:38

JFinal

2018-11-04 15:10

@EATI001 由于基于 http 的所有参数本质上是先通过 String 传递的,所以 @Para 注解的 defaultValue 就沿用了 String,使用 Object 反而不知道该如何转换了

l745230

2019-03-30 09:50

我去,我也遇到这个问题了,mac下载代码下来,第一次maven install的时候忘记配置-parameters, 然后接口调试的时候收不到参数,这时候配置上-parameters,一样不行,直到clean后,重新main启动了才正常. 折腾了好久...

热门反馈

扫码入社