概况
Result类型 是在Action执行完,一个结果返回后决定发生什么事的类。开发者可以自由的根据他们的应用和环境的需要创建自己的Result类型。例如在WebWork2中,Servlet和Velocity结果类型已经被创建用来显示web应用程序的画面。
注意: 所有的webwork内建的Result类型都实现了com.opensymphony.xwork.Result接口. 这个接口是所有action执行结果的通用接口,不管这个结果是用来显示一个网页还是产生一个email,发送一个JMS消息,等.
Result类型配置中定义了一些类,把它们映射为action配置中可以引用的名字. 也就是为这些类创建便于记忆的键-值对.
snippet of webwork-default.xml
...
<result-types>
<result-type name="dispatcher" class="com.opensymphony.webwork.dispatcher.ServletDispatcherResult" default="true"/>
<result-type name="redirect" class="com.opensymphony.webwork.dispatcher.ServletRedirectResult"/>
<result-type name="velocity" class="com.opensymphony.webwork.dispatcher.VelocityResult"/>
<result-type name="chain" class="com.opensymphony.xwork.ActionChainResult"/>
<result-type name="xslt" class="com.opensymphony.webwork.views.xslt.XSLTResult"/>
<result-type name="jasper" class="com.opensymphony.webwork.views.jasperreports.JasperReportsResult"/>
<result-type name="freemarker" class="com.opensymphony.webwork.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="com.opensymphony.webwork.dispatcher.HttpHeaderResult"/>
<result-type name="stream" class="com.opensymphony.webwork.dispatcher.StreamResult"/>
<result-type name="plaintext" class="com.opensymphony.webwork.dispatcher.PlainTextResult" />
</result-types>
...
snippet of your xwork.xml
<include file="webwork-default.xml"/>
<package name="myPackage" extends="default">
<action name="bar" class="myPackage.barAction">
<!-- default result type is "dispatcher" -->
<!-- default result name is "success" -->
<result>foo.jsp</result>
<result name="error">error.jsp</result>
</result>
</action>
</package>
Result类型
Webwork提供了一些com.opensymphony.xwork.Result接口的实现来使你的action可以容易的用户交互.这些Result类型包括:
- Chain Result - 用于 Action Chaining
- Dispatcher Result - 用于 JSP 整合
- FreeMarker Result - 用于 FreeMarker 整合
- HttpHeader Result - 用于控制特殊的HTTP行为
- JasperReports Result - 用于 JasperReports 整合
- Redirect Result - 用于直接跳转到例外的URL
- Redirect Action Result - 用于直接跳转到另外的action
- Stream Result - 用于向浏览器返回一个InputStream (一般用于文件下载)
- Velocity Result - 用于 Velocity 整合
- XSL Result - 用于 XML/XSLT 整合
- PlainText Result - 用于显示某个页面的原始的文本 (例如 jsp, html 等)
Result定义在xwork xml配置文件(xwork.xml)中的action标签里。如果location参数是result标签的唯一的参数,你可以这样简化:
<action name="bar" class="myPackage.barAction">
<result name="success" type="dispatcher">
<param name="location">foo.jsp</param>
</result>
</action>
或者
<action name="bar" class="myPackage.barAction">
<result name="success" type="dispatcher">foo.jsp</result>
</action>
如果你扩展了webwork-default.xml, 那么默认的返回类型是"dispatcher". 同样,如果你没有指定result的名字,默认将是"success". 就是说你可以如下简化:
<action name="bar" class="myPackage.barAction">
<result>foo.jsp</result>
</action>
注意 : Parse属性允许的location参数作为表达式.例如你可以这样用:
Struts2中从一个Action跳转到另一个action,必须将type="redirect"
<result name="success" type="redirect">/displayCart.action?userId=${userId}</result>
注意 : 你也可以指定全局Result以便在多个action中使用. 当要为很多不同的action添加相同的结果是这样会节省时间. Result标签和全局Result的更多信息,参见Result配置部分
转:
http://www.blogjava.net/supercrsky/articles/165033.html
分享到:
相关推荐
**Result** 在 Struts2 配置文件(通常是 struts.xml)中被定义,用来指定 Action 处理完业务逻辑后如何响应客户端请求。例如,可以配置 Result 来重定向到另一个 JSP 页面或者另一个 Action。 当开发者希望在 ...
Result类型的配置通常在Action类的配置文件中进行,例如在struts.xml或者Action类的注解中。配置中包含了Result类型的名字和对应的值,例如: ```xml <action name="myAction" class="com.example.MyAction"> ...
Result类型是通过配置在Action类的execute方法返回值或者struts.xml配置文件中定义的。默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了...
在Struts2框架中,`Result`类型是动作(Action)执行后的一种处理方式,它定义了动作执行完后页面跳转或者数据处理的行为。`Redirect`是`Result`类型中的一种,它涉及到Web应用程序中的URL重定向概念,对用户浏览器...
5. **配置文件**:Struts 2的配置通常在`struts.xml`文件中进行,定义Action、Result和拦截器链。此外,还可以使用注解来减少XML配置。 6. **Action与Result**:Action是处理用户请求的业务逻辑组件,Result是...
在struts.xml或action类的注解中,你可以设置`result`元素的`type`属性为`redirectAction`来配置重定向结果。例如: ```xml <action name="myAction" class="com.example.MyAction"> <result type="redirectAction...
4. struts.xml配置:定义Action和Result mapping 三、数据库连接 1. 引入数据库连接包 2. DB.java封装数据库连接方法 四、登录功能实现 1. 登录界面first.jsp:使用Struts2标签库,包含DB.java的数据库连接方法 ...
在Struts2中,Action之间的跳转主要通过配置文件(通常为struts.xml)来实现。下面将具体介绍两种常见的跳转方式及其参数传递的方法: 1. **使用`chain`类型的结果** 在struts.xml配置文件中,可以通过设置结果...
为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来处理所有请求的后缀: ```xml <constant name="struts.action....
1. **检查Action配置**:确保在Struts2的配置文件中(通常是struts.xml)为对应的Action方法定义了适当的结果集。例如: ```xml <action name="search" class="com.example.PhotoAction"> <result name="success...
7. **异常处理**:Struts 2提供了一种统一的方式来处理应用程序中的异常,可以通过配置文件定义不同类型的异常对应的处理方式。 8. **国际化(i18n)**:支持多语言,方便开发全球化应用程序。 9. **Ajax支持**:...
在实际开发中,使用Struts2 2.5.22时,开发者需要了解Action、Result、Interceptor的基本概念,以及如何编写Action类、配置Struts.xml文件,还要掌握OGNL的使用来绑定数据。同时,为了提高安全性和性能,还需要关注...
2. 在`struts.xml`中配置Action,包括Action类、方法映射、结果类型和结果路径。 3. 编写视图层,如JSP或Freemarker模板,使用OGNL表达式获取值栈中的数据。 4. 使用拦截器实现如日志、安全检查等附加功能。 5. 配置...
Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的...Struts2 框架中 Result 配置类型非常多样化,每种类型都有其特定的功能和应用场景。了解和掌握这些配置类型是开发 Struts2 应用程序的关键。
本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...
综上所述,"Struts2+Hibernate Action+struts.xml+jsp"的组合提供了一个完整的Web应用开发框架,涵盖了从用户界面到数据持久化的完整流程。开发者可以通过Struts2的Action处理用户请求,借助Hibernate与数据库交互,...
- **结果类型(Result Type)**: 结果类型定义了Action执行后的跳转方式,如转发、重定向、渲染页面等。 - **动态方法调用(Dynamic Method Invocation,DMI)**: Struts 2允许动态地调用Action的方法,增强了路由的...
Namespace、自定义Action、路径问题、通配符、包含模块配置文件、默认Action、接受用户输入、服务器跳转、Action中访问web元素、简单数据校验、调用Action的自定义方法 5struts2国际化 ......... 6 struts2输入校验...
在一个Struts2应用中,我们需要配置struts.xml文件,该文件定义了Action、Result和Package等元素,它们指导Struts2如何响应用户请求。例如,定义Action时,会指定Action的类名、方法及对应的URL路径。 4. **Action...
在实际应用中,开发者可以根据需求选择合适的Result类型,通过在`struts.xml`配置文件中定义result元素,指定name(通常为Action的返回码)和type(对应Result类型),以及对应的资源路径,来实现Action执行后的页面...