`
sxw7362693
  • 浏览: 60748 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Struts2 学习笔记7--Result Type

阅读更多

Result Type(用于struts.xml中result元素的type属性的值)
一个提交到服务器的处理通常可以分为两个阶段,

第一个阶段查询服务器状态 (查询或者更新数据库),

第二个阶段选择一个合适的结果页面其返回给用户 (这里要讲的Result的内容)。


Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。
Struts2支持的不同类型的返回结果为

名字	                                   说明
Chain Result	                   用来处理Action链
Dispatcher Result	           用来转向页面,通常处理JSP
FreeMarker Result	           处理FreeMarker模板
HttpHeader Result	           用来控制特殊的Http行为
Redirect Result	                   重定向到一个URL
Redirect Action Result	   重定向到一个Action
Stream Result	                   向浏览器发送InputSream对象,通常用来处理文件下载
Velocity Result                    处理Velocity模板
XLS Result	                   处理XML/XLST模板
PlainText Result	           显示原始文件内容,例如文件源代码
S2PLUGINS:Tiles Result	   结合Tile使用

 

1.    dispatcher (服务器内部跳转,地址栏为action)
2.    redirect   (客户端跳转,地址栏变化为jsp)
3.    chain     (跳转到另外一个action,不能是jsp,地址栏为action)
4.    redirectAction (跳转到另外一个action,不能是jsp,地址栏变化为jsp)
5.    freemarker
6.    httpheader
7.    stream
8.    velocity
9.    xslt
10.    plaintext
11.    tiles

 

 

文档位置:




 

Global Results(全局结果集)
即为共用的action
配置:
    <package name="user" namespace="/user" extends="struts-default">
            <global-results>
                <result name="mainpage">/main.jsp</result>
            </global-results>
            <action name="index">
                <result>/index.jsp</result>
            </action>
         <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
                <result>/user_success.jsp</result>
                <result name="error">/user_error.jsp</result>
        </action>       
</package>


如果其他包中也需要用到这个全局结果集,需要用到package的extends
<package name="admin" namespace="/admin" extends ="user">
            <action name="admin" class="com.bjsxt.struts2.user.action.AdminAction">
                <result>/admin.jsp</result>
            </action>
</package>


其中默认的package继承struts-default,而struts-default package存在哪?


 

 

 

Dynamic Result(动态结果集)
可以在struts配置文件中去值栈中的值通过”$”。
配置:
    <package name="user" namespace="/user" extends="struts-default">
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result>${r} </result>
        </action>       
    </package>

${r}:Ognl表达式,表示在值栈中取得属性r的值


带参数的结果集
一次request只有一个值栈,所以forward中间action共享一个值栈。
redirect是客户端发两次请求,所以不能共享值栈。

Result总结:
返回结果页面:可以是action也可以是jsp
1.    常用四种类型:
     a)    dispatcher(默认)
     b)    redirect
     c)    chain
     d)    redirectAction
2.    全局结果集
     a)    global-results | extends
3.    动态结果(了解)
     a)    在action中保存一个属性,存储具体的结果location
4.    传递参数
     a)    客户端跳转才需要传递
     b)    ${}表达式(不是EL)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 69.1 KB
  • 大小: 80.6 KB
  • 大小: 64.7 KB
  • 大小: 94.7 KB
分享到:
评论
1 楼 202013 2010-10-23  

相关推荐

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

    Struts2学习笔记

    ### Struts2学习笔记知识点概览 #### 一、Struts的作用 - **核心功能**:Struts2框架的核心功能之一就是将业务逻辑与展示层分离,实现MVC(Model-View-Controller)架构模式。这有助于提高代码的可维护性、可扩展...

    Struts2 学习笔记

    02 Struts2-Result 19 一、 Result类型 (type) 19 二、 全局结果集(Globle Result) 20 三、 动态的结果集(dynamic result) 21 四、 带参数的结果集 21 五、 Result总结 22 六、 项目经理: 22 03 OGNL表达式语言 23 ...

    struts2学习笔记

    Struts2的核心配置文件通常为`struts.xml`,在这个文件中可以定义各种包(Package)、Action以及结果(Result)。例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result name...

    struts2详细学习笔记

    总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...

    Struts2.1学习笔记

    ### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...

    struts2学习笔记,总结了很多学习的经验

    本笔记将深入探讨Struts2的核心组件、配置以及它的一些关键特性。 首先,让我们从`web.xml`配置文件开始。这个文件是Java web应用的部署描述符,它告诉服务器如何处理请求。在Struts2中,我们定义了一个名为`struts...

    struts2学习笔记十九(第19讲.Struts2深入探索 续)

    7. **Struts2插件**:Struts2提供了一系列的插件,如Struts2-dojo-plugin用于集成Dojo库,Struts2-convention-plugin用于自动配置Action,这些插件极大地扩展了框架的功能。 8. **源码分析**:深入理解Struts2的...

    struts2学习笔记二(第2讲.Struts2入门与配置续)

    本篇学习笔记将深入探讨Struts2的入门与配置,继续上一讲的内容。 首先,Struts2的基础入门涉及到以下几个核心概念: 1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是处理用户请求的主体...

    struts2 学习资料

    这个"struts2 学习资料"包含了关于Struts2的基础到进阶的学习资源,可能是教程文档、示例代码或者是相关的学习笔记。 Struts2框架的核心特性包括: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它...

    struts2学习笔记十四(第14讲.Struts2的文件上传和下载续二)

    在本篇“Struts2学习笔记十四”中,我们将深入探讨Struts2框架如何实现文件上传和下载功能,这是web应用中常见的需求,尤其在处理用户提交的表单数据时。我们将不涉及具体代码,而是重点讲解相关概念和技术原理。 ...

    struts2学习笔记十三(第13讲.Struts2的文件上传和下载续)

    在本篇“Struts2学习笔记十三”中,我们将深入探讨Struts2如何处理文件上传和下载,这是Web开发中常见的需求。 文件上传在Web应用中广泛用于让用户提交图片、文档或其他类型的数据。Struts2提供了一个名为`...

    Struts学习笔记

    ### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...

    Struts2学习笔记(8)-Result常用类型

    当你配置`&lt;result type="dispatcher"&gt;/r1.jsp&lt;/result&gt;`时,Struts2会把当前Action执行后的控制权交给指定的JSP页面处理。浏览器的URL保持不变,显示的是Action的URL,因为实际的页面转换是在服务器端内部完成的。...

    struts2学习笔记十二(第12讲.Struts2的文件上传和下载)

    在Struts2中,文件上传和下载是两个重要的功能,常用于处理用户在网页上提交的文件。在第12讲中,我们将深入探讨Struts2如何实现这两个特性。 首先,我们来看文件上传。在Web应用中,用户可能需要上传图片、文档或...

    struts2学习笔记十五(第15讲.Struts2的文件上传和下载续三)

    &lt;result type="stream"&gt; &lt;param name="contentType"&gt;application/octet-stream &lt;param name="inputName"&gt;fileStream &lt;param name="contentDisposition"&gt;attachment;filename="${fileName}" &lt;/result&gt; ``` 在...

    Struts 学习笔记 Struts 中扩展JfreeChart 笔记

    - 在Struts配置文件中,设置这个Action的Result类型为"stream",指定Content-Type为图像类型。 - 在JSP页面上,可以通过标签的src属性指向这个Action,实现图表的显示。 5. **最佳实践**: - 使用拦截器优化性能...

Global site tag (gtag.js) - Google Analytics