Action带参使用问题

在看jfinal文档的时候发现可以Action带参使用,之前一直都是使用getBean(...)的方式转换成bean。但是使用的话发现,在buildActionMapping的时候不能把方法加到map中。所以访问的时候怎么都是访问到index action中。代码如下:

public void loginParam(@Para("") User user) {
    System.out.println(user);
    renderText("loginParam...");
 }

求教是我哪里弄错了还是要配置,感谢!!

-- 问题补充:

已经按照文档操作,使用jdk8,编译使用了-parameter参数。而且反射也获取到参数的名字,而不是获取到arg0...之类的参数名。

使用了-parameter参数编译:

QQ拼音截图20180130212713.png

未使用-parameter参数编译:

QQ拼音截图20180130213415.png

调试发现参数不为0就不会添加action映射,能后就不能访问到该action,是这样吗?

QQ拼音截图20180130214002.png

能再帮忙看下不。万分感谢!!!

评论区

JFinal

2018-01-30 21:19

这个只要是严格按照文档来操作,就一定可以,这里有详细的操作说明:
http://www.jfinal.com/doc/3-3

注意要使用 jfinal 的 java8 这个版本,才有这个功能

cc_cc

2018-01-30 21:21

@JFinal 嗯,我就是参照文档做的,而且我也看了,也能获取到方法参数名称。但是就是不能添加到action的map集合中。我看代码是有参数就不会被添加到action的map中吗?

cc_cc

2018-01-30 21:42

@JFinal 问题添加了补充,有时间点时候能帮忙看下不,感谢!!!

JFinal

2018-01-30 22:16

@cc_cc 你在上面贴出来的那个 if 判断是 jfinal 的非 Java 8 版本,也就是说不是你当前用的版本

而你用的 action 带参的版本在 java8 这个 branches 这里:
https://gitee.com/jfinal/jfinal/blob/jfinal-java8/src/main/java/com/jfinal/core/ActionMapping.java

JFinal

2018-01-30 22:18

@cc_cc 文档第一句话就说明过要使用 Java8 这个分支版本,后面给出了 maven 坐标:
http://www.jfinal.com/doc/3-3

cc_cc

2018-01-31 13:40

@JFinal 原来是这样。因为按照文档操作,我以为jfinal-java8只是一些增加了些特性代码,比如@Para注解,所以就直接增加了maven坐标,没有删除原来maven坐标。怪自己没有仔细看文档“第一步需要在java8下使用jfinal-java8版本”,不过建议提一句替换原“jfinal”版本,因为在按照文档学习点时候可能跟我一样没注意。非常感谢老大点回复,给你添麻烦了,谢谢。。。。

热门分享

扫码入社