`
为了明天
  • 浏览: 113667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2的@Result annotation 如何添加params

阅读更多
在原来的webwork式的xml配置文件里可以给<action>下的<result>节点添加一些额外的参数。
<result ..>      <param name="">...</param></result>那换成@Result annotation之后要怎么做呢。

看@Result的源代码发现有个params的String数组

@Retention(RetentionPolicy.RUNTIME)public @interface Result {    String name() default Action.SUCCESS;    Class type() default NullResult.class;    String value();    String[] params() default {};}
可是原来的param配置是个key和value的键值对啊。后来查到struts2的文档原来就这个String数组里约定的是key,value,这样的顺序。
•params - An Array of the parameters in the form {key1, value1, key2, value2}


@Result(name="error",type=FreemarkerResult.class, value="/error.ftl", params={"contentType", "application/xml"})





其实上面的大家都知道,问题是想传传参数该怎么办呢?

其中key 是可以随便写的,后面的直接使用action 中的带有set方法的变量就ok了

如:params={"key","fileId"})

fileId 为action中的一个带set 方法的变量



@Result(name="success",
  type="redirectAction",
  location="d-list",
  params={"id", "%{id}"}
)



这样,当return SUCCESS时,就会跳转至d-list?id=XXXX
分享到:
评论
1 楼 天助者自助 2014-08-22  
我想问一下  我获取的时候 我获取的时候  这样   request.getParameter("userType")   userType是那个key   这样获取不到  我debug 了一下  是参数没传过去   我的写法都一样 请问这还有可能是哪里出了问题

相关推荐

Global site tag (gtag.js) - Google Analytics