在全局拦截器中获取Para为null

天为之殇 发布于 2014/10/16 13:05
阅读 301
收藏 0

@JFinal 你好,想跟你请教个问题:

String para = ai.getController().getPara();

在全局拦截器AllOAInterceptor中获取Para为null

而实际URL中有参数,控制台:

JFinal action report -------- 2014-10-16 12:54:59 ------------------------------
Controller  : com.csyspp.oa.flow.FlowController.(FlowController.java:1)
Method      : extask
Interceptor : com.csyspp.oa.config.AllOAInterceptor.(AllOAInterceptor.java:1)
Parameter   : taskid=83d87b9d26f44fa989b94c3f134979a7  

加载中
0
JFinal
JFinal

    getPara() 不带参数或者带 int 参数时,是指获取 urlPara 中携带的参数,例如:  localhost/article/123,使用getPara() 时将获取到 "123" 这个参数。

    解决办法是使用 getPara("taskid"),从而获取到url 中问号挂参以及表单域中的参数。详细说明见 jfinal 手册:http://www.jfinal.com

0
天为之殇
天为之殇

引用来自“JFinal”的评论

    getPara() 不带参数或者带 int 参数时,是指获取 urlPara 中携带的参数,例如:  localhost/article/123,使用getPara() 时将获取到 "123" 这个参数。

    解决办法是使用 getPara("taskid"),从而获取到url 中问号挂参以及表单域中的参数。详细说明见 jfinal 手册:http://www.jfinal.com

感谢,加入“taskid”可以获取到值。其实我的初衷是想记录GET方式提交的URL,以方便登陆后跳转。

也就是参数列表是不固定的。问题描述只是个例子。

http://127.0.0.1:8080/path/Flow/extask?taskid=83d87b9d26f44fa989b94c3f134979a7

本来以为Para() 就能出来了。现在用getParaMap()拼接String。可有更好地方法?

JFinal
JFinal
建议仔细看一下 jfinal 手册有关的 getPara 的用法,getPara 分两类,一类是取问号挂参和表单域字段的值,另一类是取 urlPara 中的参数值,前者需要一个String 做为参数,后者需要一个 int 或者无参数。前者是命名参数,后者是处于url中的位置参数
返回顶部
顶部