`

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

分享到:
评论

相关推荐

    struts2利用注解annotation实现文件下载

    import org.apache.struts2.convention.annotation.Result; import com.opensymphony.xwork2.ActionSupport; @Action(value = "download", params = {"inputPath", "/resources/images"}, results = {@Result...

    struts2 annotation 文件下载

    import org.apache.struts2.convention.annotation.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; // 控制器注解 @Controller // 设置父...

    Struts2注解

    2. `@Result`注解的`name`属性指定结果名称,`type`指定视图资源类型(如JSP、FreeMarker等),`location`指定实际视图的位置,`params`属性用于传递参数给结果。 3. `@Result`的两种用法:一是直接在Action方法上...

    struts2注解

    Struts2注解是框架提供的一种简化XML配置的方式,它允许开发者在Action类或方法上直接添加注解,实现Action、结果(Result)和拦截器(Interceptor)的配置。这种方式提高了代码的可读性和可维护性,同时也减少了XML...

    struts2自定义数据类型转换练习

    import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.interceptor.validation.SkipValidation; import com.example.CustomType; import static ...

    ssh2 Annotation注解 框架+oracle

    **Struts2 Annotation注解** Struts2框架同样支持注解,如: - `@Action`注解标识一个方法作为执行的动作,替代了传统的struts.xml配置。 - `@Results`和`@Result`用于定义动作的结果页面或跳转逻辑。 - `@Params`...

    struts2.0注解详解

    2. **注解处理**:当Struts2启动时,它会扫描应用中所有相关的Java类,寻找带有特定注解的类或方法,并根据这些注解的内容进行相应的处理。例如,将注解信息映射到框架内部的数据结构中,从而实现动态配置的目的。 3...

    struts2中Action数据绑定几种方法.rar

    Struts2支持使用JavaBeans的getter和setter方法进行数据绑定,但也可以通过在字段上添加注解来简化这一过程。例如,可以使用`@Param`注解来指定参数名,Struts2会自动将请求参数值绑定到该字段。此外,`@Result`...

    Struts2内置拦截器简介

    ### Struts2内置拦截器简介 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2的核心是拦截器(Interceptor)机制...

    struts2 源码

    - Struts2的可扩展性体现在强大的插件机制,通过插件可以轻松添加新功能,如Struts2-convention-plugin提供了约定优于配置的规则。 6. **配置方式** - XML配置:传统的配置方式,通过struts.xml或类似的文件定义...

    struts2上传文件与uploadify插件的应用

    在Struts2中实现文件上传,首先需要在Action类中添加一个字段来接收上传的文件,并使用`@FileUpload annotation`进行标记。例如: ```java private File uploadFile; private String uploadFileContentType; ...

    Struts2学习文档

    - **概念介绍**:列出Struts2自带的一些常用拦截器,如`params`拦截器、`servletConfig`拦截器等。 **7.4 开发自己的拦截器** - **实现方式**:指导如何自定义拦截器。 **7.5 深入拦截器编程** - **7.5.1 拦截...

    Struts速查手册HandBood系列(By FengGe整理)

    2. Annotation配置:通过在Action类上使用注解,可以简化XML配置,提高开发效率。 三、Struts2 Action与结果 1. Action类:实现Action接口或继承ActionSupport基类,定义execute()方法处理请求。 2. Result类型:...

Global site tag (gtag.js) - Google Analytics