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
分享到:
相关推荐
在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...
### Struts2学习笔记知识点概览 #### 一、Struts的作用 - **核心功能**:Struts2框架的核心功能之一就是将业务逻辑与展示层分离,实现MVC(Model-View-Controller)架构模式。这有助于提高代码的可维护性、可扩展...
02 Struts2-Result 19 一、 Result类型 (type) 19 二、 全局结果集(Globle Result) 20 三、 动态的结果集(dynamic result) 21 四、 带参数的结果集 21 五、 Result总结 22 六、 项目经理: 22 03 OGNL表达式语言 23 ...
Struts2的核心配置文件通常为`struts.xml`,在这个文件中可以定义各种包(Package)、Action以及结果(Result)。例如: ```xml <package name="default" namespace="/" extends="struts-default"> <result name...
总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...
【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
本笔记将深入探讨Struts2的核心组件、配置以及它的一些关键特性。 首先,让我们从`web.xml`配置文件开始。这个文件是Java web应用的部署描述符,它告诉服务器如何处理请求。在Struts2中,我们定义了一个名为`struts...
7. **Struts2插件**:Struts2提供了一系列的插件,如Struts2-dojo-plugin用于集成Dojo库,Struts2-convention-plugin用于自动配置Action,这些插件极大地扩展了框架的功能。 8. **源码分析**:深入理解Struts2的...
本篇学习笔记将深入探讨Struts2的入门与配置,继续上一讲的内容。 首先,Struts2的基础入门涉及到以下几个核心概念: 1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是处理用户请求的主体...
这个"struts2 学习资料"包含了关于Struts2的基础到进阶的学习资源,可能是教程文档、示例代码或者是相关的学习笔记。 Struts2框架的核心特性包括: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它...
在本篇“Struts2学习笔记十四”中,我们将深入探讨Struts2框架如何实现文件上传和下载功能,这是web应用中常见的需求,尤其在处理用户提交的表单数据时。我们将不涉及具体代码,而是重点讲解相关概念和技术原理。 ...
在本篇“Struts2学习笔记十三”中,我们将深入探讨Struts2如何处理文件上传和下载,这是Web开发中常见的需求。 文件上传在Web应用中广泛用于让用户提交图片、文档或其他类型的数据。Struts2提供了一个名为`...
### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...
当你配置`<result type="dispatcher">/r1.jsp</result>`时,Struts2会把当前Action执行后的控制权交给指定的JSP页面处理。浏览器的URL保持不变,显示的是Action的URL,因为实际的页面转换是在服务器端内部完成的。...
在Struts2中,文件上传和下载是两个重要的功能,常用于处理用户在网页上提交的文件。在第12讲中,我们将深入探讨Struts2如何实现这两个特性。 首先,我们来看文件上传。在Web应用中,用户可能需要上传图片、文档或...
<result type="stream"> <param name="contentType">application/octet-stream <param name="inputName">fileStream <param name="contentDisposition">attachment;filename="${fileName}" </result> ``` 在...
- 在Struts配置文件中,设置这个Action的Result类型为"stream",指定Content-Type为图像类型。 - 在JSP页面上,可以通过标签的src属性指向这个Action,实现图表的显示。 5. **最佳实践**: - 使用拦截器优化性能...