>> ----------> @Action 重定向 |
@Action(value = "/code/generatePoject", results = { @Result(name = "success", location = "project/list", type= "redirectAction")})
|
<
action
name
=
"actionName!*"
class
=
"actionClass"
method
=
"{1}"
>
<
result
name
=
"show"
type
=
"redirectAction"
>
show?
id
=${id}
</
result
>
</
action
>
|
>> ----------> @Action
@Action(value = "/backend/callcenter/searchList",
results = {@Result(name = "success", location = "/backend/callcenter/search/travel.jsp")})
>> ---------->ActionChainResult : 用于从一个Action跳转到另外一个Action @Result annotation 如何添加params
1. @Result
2. (name = "search",value= "search",type=ActionChainResult.class,
3. params={"method","search"})
>> ---------->StreamResult:用于文件下载
1. @Result
2. (name="success",value="inputStream",type=StreamResult.class,
3. params={"bufferSize",FileConstant.DOWNLOAD_BUFFER_SIZE})
Chain Result:
这个result调用另外的一个action,连接自己的拦截器栈和result。
- actionName (默认) - 被调用的action的名字
- namespace - 被调用的action的名称空间. 如果名称空间为空,这默认为当前名称空间
- method - 用于指定目标action的另一个方法被调用. 如果空,默认为excute方法
Redirect Action Result:
这个Result使用ActionMapperFactory提供的ActionMapper来重定位浏览器的URL来调用指定的action和(可选
的)namespace.
这个Result比ServletRedirectResult要好.因为你不需要把URL编码成xwork.xml中配置的ActionMapper提
供的模式. 这就是说你可以在任意点上改变URL模式而不会影响你的应用程序. 因此强烈推荐使用这个Result而不是标准的redirect
result来解决重定位到某个action的情况.
- ActionName (默认) - 重定位到的action名
- namespace - action的名称空间. 如果为null,则为当前名称空间
Redirect Result
调用{@link HttpServletResponse#sendRedirect(String)
sendRedirect}方法来转到指定的位置. HTTP响应被告知使浏览器直接跳转到指定的位置(产生客户端的一个新请求).
这样做的结果会使刚刚执行的action(包括action实例,action中的错误消息等)丢失, 不再可用.
这是因为action是建立在单线程模型基础上的.
传递数据的唯一方式就是通过Session或者可以为Ognl表达式的web参数(url?name=value)
- location (默认) - action执行后跳转的地址.
- parse - 默认为true. 如果设置为false, location参数不会被当作Ognl表达式解析.
<result name="success" type="redirect">/displayCart.action?userId=${userId}</result>
分享到:
相关推荐
在这个小例子中,我们将深入探讨如何利用Struts2的Annotation配置来构建一个简单的应用。 首先,让我们了解什么是Annotation。在Java中,Annotation是一种元数据,它提供了一种安全的方式向编译器、JVM或者第三方...
本文将深入探讨Struts2中的Annotation配置,以及如何在实际项目中应用这些知识。 首先,了解`@Action`注解是理解Struts2注解配置的关键。这个注解用于标记一个类或方法作为处理HTTP请求的动作。例如: ```java @...
3. **Struts2 Annotation**:这是Struts2的一个特性,允许使用注解(如`@Action`、`@Result`等)来配置Action类和结果映射,替代传统的XML配置文件。 接下来,我们将探讨如何在Jetty中运行使用Struts2 Annotation的...
标题“struts2annotation json”暗示我们将探讨如何在Struts2中使用注解来处理JSON相关的功能。首先,让我们深入理解Struts2的注解系统。 1. **Struts2注解**: - `@Action`: 这个注解用于标记一个方法为处理HTTP...
在Struts2框架中,使用注解(Annotation)可以极大地简化控制器类的配置,提高代码的可读性和维护性。本文将深入探讨如何利用Struts2的注解功能实现批量下载功能,并通过创建临时文件来处理下载请求,同时确保在下载...
Struts2支持多种配置方式,如XML配置、注解配置等,其中注解配置因其简洁性而受到开发者的青睐。 #### 三、代码解析 在给出的代码片段中,主要涉及到了一个名为`DownloadAction`的类,该类实现了文件下载的功能。...
总之,Struts2、Hibernate3和Spring2.5的整合可以大大提高开发效率,通过注解方式配置可以进一步减少XML配置文件,使代码更加简洁和易于维护。在实际项目中,这种整合方式被广泛采用,是Java Web开发的标准实践之一...
Struts2零配置是Struts2框架的一种简化配置方式,旨在减少XML配置文件的使用,提高开发效率。在传统的Struts2应用中,开发者需要在多个XML文件中配置Action、结果页面、拦截器等,而“零配置”则是对这种繁琐配置的...
Struts2的“零配置”特性是Struts2的新功能,可能会出现一些小Bug,所以企业开发者请慎重使用该特性, ...如果用的是Annotation的Struts2,就要将struts.xml去掉,否则即使将struts.xml中的内容注销,也会报错;
在给定的“struts2-Annotation”主题中,重点是Struts2框架如何利用注解(Annotation)来增强其功能和简化配置。注解是一种元数据,可以在代码中嵌入,提供有关类、方法或字段的额外信息,而无需编写XML配置文件。 ...
而"struts2 interceptor annotation plugin"则是Struts2框架提供的一种使用注解来配置拦截器的方式,这种方式更加简洁、直观,减少了XML配置文件的复杂性。 注解(Annotation)是Java编程语言的一个重要特性,它...
在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...
在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...
为了运行这个"Hello World"应用,你需要确保你的项目已经包含了Struts 2的依赖库,并且在web.xml中配置了Struts 2的Filter。一旦配置完成,你可以通过访问相应的URL(如"http://yourserver/yourapp/hello.action")...
在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...
### Struts2 使用注解(Annotation)实现文件下载 在Web开发中,文件上传与下载是常见的需求之一。Struts2框架提供了强大的功能来支持这一需求。本文将详细介绍如何使用Struts2框架结合注解(Annotation)的方式...
Struts2注解配置是Java Web开发中一种高效、简洁的框架配置方式,它允许开发者在类或方法级别上直接定义Action、结果类型、参数映射等信息,从而避免了传统XML配置文件的繁琐。本资料集合了关于Struts2注解配置的...