浙林龙哥

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

参考:

http://struts.apache.org/2.0.11/docs/result-annotation.html

http://jdkcn.com/entry/add-params-to-struts2-result-annotation.html

 

在原来的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"})

传参数呢?


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

 

这样,当return SUCCESS时,就会跳转至d-list?id=XXXX

 

posted on 2010-05-04 16:56  浙林龙哥  阅读(2907)  评论(1编辑  收藏  举报