`

Struts2中的Result类型应用(action...etc跳转)

阅读更多
转载:http://www.blogjava.net/supercrsky
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配置部分

分享到:
评论

相关推荐

    struts2 result转向到action

    **Result** 在 Struts2 配置文件(通常是 struts.xml)中被定义,用来指定 Action 处理完业务逻辑后如何响应客户端请求。例如,可以配置 Result 来重定向到另一个 JSP 页面或者另一个 Action。 当开发者希望在 ...

    struts2 Result类型

    Result类型的配置通常在Action类的配置文件中进行,例如在struts.xml或者Action类的注解中。配置中包含了Result类型的名字和对应的值,例如: ```xml &lt;action name="myAction" class="com.example.MyAction"&gt; ...

    Struts2学习资源Result part1.rar

    Result类型是通过配置在Action类的execute方法返回值或者struts.xml配置文件中定义的。默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了...

    struts2中result类型之redirect

    在Struts2框架中,`Result`类型是动作(Action)执行后的一种处理方式,它定义了动作执行完后页面跳转或者数据处理的行为。`Redirect`是`Result`类型中的一种,它涉及到Web应用程序中的URL重定向概念,对用户浏览器...

    struts-2.2.3.1-lib.zip

    5. **配置文件**:Struts 2的配置通常在`struts.xml`文件中进行,定义Action、Result和拦截器链。此外,还可以使用注解来减少XML配置。 6. **Action与Result**:Action是处理用户请求的业务逻辑组件,Result是...

    struts2中result类型之redirectAction

    在struts.xml或action类的注解中,你可以设置`result`元素的`type`属性为`redirectAction`来配置重定向结果。例如: ```xml &lt;action name="myAction" class="com.example.MyAction"&gt; &lt;result type="redirectAction...

    使用struts2实现登录的简单示例.pdf

    4. struts.xml配置:定义Action和Result mapping 三、数据库连接 1. 引入数据库连接包 2. DB.java封装数据库连接方法 四、登录功能实现 1. 登录界面first.jsp:使用Struts2标签库,包含DB.java的数据库连接方法 ...

    struts2 action跳转action传参数

    在Struts2中,Action之间的跳转主要通过配置文件(通常为struts.xml)来实现。下面将具体介绍两种常见的跳转方式及其参数传递的方法: 1. **使用`chain`类型的结果** 在struts.xml配置文件中,可以通过设置结果...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来处理所有请求的后缀: ```xml &lt;constant name="struts.action....

    No result defined for action.doc

    1. **检查Action配置**:确保在Struts2的配置文件中(通常是struts.xml)为对应的Action方法定义了适当的结果集。例如: ```xml &lt;action name="search" class="com.example.PhotoAction"&gt; &lt;result name="success...

    struts-2.3.16.3-docs.zip

    7. **异常处理**:Struts 2提供了一种统一的方式来处理应用程序中的异常,可以通过配置文件定义不同类型的异常对应的处理方式。 8. **国际化(i18n)**:支持多语言,方便开发全球化应用程序。 9. **Ajax支持**:...

    struts-2.5.22-all.zip

    在实际开发中,使用Struts2 2.5.22时,开发者需要了解Action、Result、Interceptor的基本概念,以及如何编写Action类、配置Struts.xml文件,还要掌握OGNL的使用来绑定数据。同时,为了提高安全性和性能,还需要关注...

    struts2 result配置详解

    Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的...Struts2 框架中 Result 配置类型非常多样化,每种类型都有其特定的功能和应用场景。了解和掌握这些配置类型是开发 Struts2 应用程序的关键。

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...

    Struts2+Hibernate Action+struts.xml+jsp

    综上所述,"Struts2+Hibernate Action+struts.xml+jsp"的组合提供了一个完整的Web应用开发框架,涵盖了从用户界面到数据持久化的完整流程。开发者可以通过Struts2的Action处理用户请求,借助Hibernate与数据库交互,...

    Struts-2.2.3.1-src.zip

    - **结果类型(Result Type)**: 结果类型定义了Action执行后的跳转方式,如转发、重定向、渲染页面等。 - **动态方法调用(Dynamic Method Invocation,DMI)**: Struts 2允许动态地调用Action的方法,增强了路由的...

    Struts2全解Struts2全解

    Namespace、自定义Action、路径问题、通配符、包含模块配置文件、默认Action、接受用户输入、服务器跳转、Action中访问web元素、简单数据校验、调用Action的自定义方法 5struts2国际化 ......... 6 struts2输入校验...

    简单的struts2+web的入门应用.zip

    在一个Struts2应用中,我们需要配置struts.xml文件,该文件定义了Action、Result和Package等元素,它们指导Struts2如何响应用户请求。例如,定义Action时,会指定Action的类名、方法及对应的URL路径。 4. **Action...

    Struts2 Result类型

    在实际应用中,开发者可以根据需求选择合适的Result类型,通过在`struts.xml`配置文件中定义result元素,指定name(通常为Action的返回码)和type(对应Result类型),以及对应的资源路径,来实现Action执行后的页面...

    struts-2.3.4.1-all.zip

    接着,根据项目需求进行相应的配置,例如在struts.xml中配置Action、拦截器和结果类型。此外,还需要在JSP页面中使用Struts 2的标签库,以便利用其提供的各种功能。 在开发过程中,还需要关注安全问题,因为Struts ...

Global site tag (gtag.js) - Google Analytics