`

struts result的返回结果解析

阅读更多

Struts2支持的不同类型的返回结果为:
Dispatcher Result -->type="dispatcher"
用来转向页面,通常处理JSP
Redirect Result -->type="redirect"
重定向到一个URL
Chain Result-->type="chain"
用来处理Action链
Redirect Action Result -->type="redirectAction"
重定向到一个Action
FreeMarker Result -->type="freemarker"
处理FreeMarker模板
HttpHeader Result -->type="httpheader"
用来控制特殊的Http行为
Stream Result -->type="stream"
向浏览器发送InputSream对象,通常用来处理文件下载
Velocity Result -->type="velocity"
处理Velocity模板
XLST Result -->type="xslt"
处理XML/XLST模板
PlainText Result -->type="plainText"
显示原始文件内容,例如文件源代码
注:一般情况下最常用的是前面四种,在这里我也就讲前面四种。

Struts.xml
<package name="resultTypes" namespace="/r" extends="struts-default">
    <action name="r1">
    <result type="dispatcher">/r1.jsp</result>
    </action>
   
    <action name="r2">
    <result type="redirect">/r2.jsp</result>
    </action>
   
    <action name="r3">
    <result type="chain">r1</result>
    </action>
   
    <action name="r4">
    <result type="redirectAction">r2</result>
    </action>
   
</package>


Index.jsp
<li><a href="r/r1">dispatcher</a></li>
<li><a href="r/r2">redirect</a></li>
<li><a href="r/r3">chain</a></li>
<li><a href="r/r4">redirectAction</a></li>


(图1)
一:dispatcher(用来转向页面,通常处理JSP)
流程演示:
图(2)


说明:dispatcher是用来转向页面,通常处理jsp页面,客户端只请求一次。过程是:1,客户端向服务器发出请求;2,服务器收到请求后,寻找相应的jsp页面,找到相应的页面后由服务器将jsp地址对应的action地址返回给客户端。执行程序index界面如(图1)所示,点击dispatcher,显示结果为:r1,地址栏为:http://localhost:8080/Struts2_1500_ResultType/r/r1。

二:Redirect(重定向到一个URL)
说明:Redirect是用来重定向到一个URL,客户端请求两次。过程是:1,客户端向服务器发出请求;2,服务器收到请求后,寻找相应的jsp页面,找到相应的页面后由服务器将找到的信息返回给客户端;3,客户端收到信息后,向相应的jsp页面发出第二次请求,找到相应的jsp页面,然后jsp地址返回给客户端。执行程序index界面如(图1)所示,点击Redirect,显示结果为:r2,地址栏为:http://localhost:8080/Struts2_1500_ResultType/r2.jsp

三:Chain(用来处理Action链)
说明:Chain是处理Action链,客户端请求一次。过程是:1,客户端向服务器发出请求;2,服务器收到请求后,寻找相应的action,找到相应的action后由服务器将action地址返回给客户端,页面输出相应的action对应的jsp页面;执行程序index界面如(图1)所示,点击Chain,显示结果为:r1,地址栏为:http://localhost:8080/Struts2_1500_ResultType/r/r3 。chain和dispatcher类似,区别在于,dispatcher返回jsp地址,而chain返回action地址。

四:Redirect Action (重定向到一个Action)
说明:Redirect Action是用来重定向到一个Action,客户端请求三次。过程是:1,客户端向服务器发出请求;2,服务器收到请求后,寻找相应的action,找到相应的action后由服务器将找到的信息返回给客户端;3,客户端收到信息后,向相应的action发出第二次请求,服务器收到请求后,寻找相应的jsp页面,找到相应的页面后由服务器将找到的信息返回给客户端。4,,客户端收到信息后,向相应的jsp页面发出第三次请求,找到相应的jsp页面,然后jsp地址返回给客户端。执行程序index界面如(图1)所示,点击Redirect Action,显示结果为:r2,地址栏为:http://localhost:8080/Struts2_1500_ResultType/r2.jsp。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    struts2 Result类型

    在Struts2中,业务逻辑通常封装在Action类中,Action类负责处理用户请求并返回一个结果。这个结果可以是成功的处理、错误的提示,或者是重定向到其他页面。Result类型就是用来定义这些结果的处理方式。 Struts2内置...

    struts2 result转向到action

    ### Struts2 Result 转向到 Action 的深入解析 #### 一、基本概念与应用场景 **Struts2** 是一款流行的 Java Web 开发框架,它支持多种开发模式(如 MVC),并提供了一系列用于简化 Web 应用程序开发的功能。在 ...

    struts2 动态结果集

    在传统的Struts2配置中,结果集(Result)通常是在struts.xml或者类似的配置文件中硬编码的,这在处理多样化的返回逻辑时可能会变得繁琐且难以维护。动态结果集则解决了这个问题,使得结果集的定义可以更加动态化,...

    struts2返回json

    3. **配置struts.xml**:在`struts.xml`配置文件中,你需要声明这个Action,指定结果类型为JSON: ```xml &lt;result type="json"/&gt; ``` 4. **设置内容类型**:为了确保浏览器正确解析返回的数据,你需要在...

    struts2 全局结果集

    当Action执行完成后,Struts2框架会根据返回的Action结果名查找匹配的结果。这个过程涉及到ActionInvocation、ResultSupport和Result接口等核心组件的协同工作。通过阅读Struts2的源码,开发者可以深入了解这一过程...

    struts2返回json数据的方法一 使用json-default

    Struts2是一个非常流行的Java Web框架,用于构建可维护、高效且灵活的Web应用程序。在Struts2中,处理Action类的结果通常会...如果想要深入了解Struts2的更多特性或源码分析,可以参考给定的博文链接或其他相关资料。

    难经3:Struts2,拦截器拦不住Result?

    在Struts2框架中,拦截器是实现业务逻辑和控制逻辑之间解耦的重要机制,而Result则负责处理动作(Action)执行后的返回结果,如视图渲染或跳转。 **Struts2 框架概述** Struts2是一个基于MVC设计模式的Java Web开发...

    Struts2之结果类型的使用和分析案例struts006

    本文将深入探讨Struts2的结果类型及其使用,同时通过案例"struts006"进行分析。 首先,理解Struts2中的Action类。每个Action类通常代表一个业务逻辑,当用户请求被处理后,Struts2会根据配置文件(struts.xml或...

    struts2部分源码分析

    总的来说,Struts2的源码分析涉及Action的创建与执行、Interceptor的调用链、FilterDispatcher的请求调度以及Result的展示机制。通过对这些关键组件的深入理解和代码研究,开发者可以更好地掌握Struts2框架,提高...

    struts2 源码分析

    Struts2 源码分析 Struts2 是一个基于MVC 模式的Web 应用程序框架,它的源码分析可以帮助我们更好地理解框架的内部机制和工作流程。下面是Struts2 源码分析的相关知识点: 1. Struts2 架构图 Struts2 的架构图...

    struts2.3.20生成返回json 浏览器解析json

    接下来,你需要创建一个Action类,该类负责处理请求并返回JSON结果。例如,创建一个名为`MyAction`的类,继承自`ActionSupport`,并在其中定义一个返回JSON的方法: ```java public class MyAction extends ...

    Struts2 result和type

    它们主要用于控制Action执行完毕后页面的跳转方式以及如何处理Action返回的结果。通过合理配置`Result`与`Type`,可以实现灵活多样的页面转向逻辑,满足复杂业务场景的需求。 #### 二、Result概述 `Result`定义了...

    maven-web项目 Struts2 Struts注解 Struts2返回json

    在这个例子中,`testJson`方法处理请求后返回一个包含"message"键的Map,当配置了JSON结果类型时,Struts2会自动将其转化为JSON格式,并返回给客户端。 在实际的"Maven-web项目 Struts2 Struts注解"中,`Strut2-...

    struts2 action 返回json方法(一)源码

    Action是Struts2的核心组件,用于处理用户的请求,并返回相应的结果。在现代Web应用中,数据通常以JSON(JavaScript Object Notation)格式在客户端和服务器之间交换,因为JSON具有轻量级、易于解析的特性。本篇将...

    Struts2使用Annotation返回Json

    在Struts2中,我们通常会用到`@Action`、`@Result`等注解来定义一个Action类和其结果。要返回JSON,我们需要引入Struts2的JSON插件。该插件提供了处理JSON输出的能力,使Action可以直接返回Java对象,而无需手动构建...

    struts2使用json返回对象和列表(案例)

    在Struts2的配置文件(通常是struts.xml)中,需要为Action配置一个返回JSON结果的类型。例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result type="json"/&gt; &lt;result ...

    Struts2 运行流程分析

    9. **Result处理**:Action执行完成后,返回的Result决定如何展示结果。Result可以是重定向、转发、渲染视图或者无操作。Result类型由配置决定,例如JSP、FreeMarker或Velocity模板。 10. **ValueStack**:在整个...

Global site tag (gtag.js) - Google Analytics