首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2的@Result annotation 怎么添加params

2012-08-24 
struts2的@Result annotation 如何添加params?在原来的webwork式的xml配置文件里可以给action下的resul

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

热点排行