Struts2的处理结果(一)——处理结果的配置
Struts2的处理结果(一)
——处理结果的配置
1.处理结果
在Action处理完用户请求之后,并不会直接生成响应,而是把一个字符串返回给Struts2框架,再由框架选择此字符串结果对应的物理视图资源响应给浏览者。
Struts2将处理结果转向实际的物理资源时,这些物理资源可以是JSP、FreeMarker或者是下一个Action或Action链。
2.处理结果的配置
在struts.xml中使用<result>标签配置处理结果,在此项中确定逻辑资源和物理资源之间的映射关系。
3.局部结果
<result>元素作为<action>元素的子元素,一个<action>元素下可以包含多个<result>元素。这些<result>元素只对此<action>有效。
代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="package_a" extends="struts-default">
<action name="test1" class="testAction.Test1Action">
<!--
在action元素的下的result元素是一个局部结果
该结果只对此action有效
-->
<result name="error">error.jsp</result>
<result name="success">welcome.jsp</result>
</action>
</package>
</struts>
4.全局结果
<result>元素作为<global-result>元素的子元素,该<result>就代表了一个全局结果,全局结果对所有的Action有效(相同的<package>下)。
代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="package_b" extends="struts-default">
<!-- 定义全局结果 -->
<global-results>
<result name="success">welcome.jsp</result>
</global-results>
</package>
</struts>
5.配置<result>
(1)<result>中通常有如下两个属性:
1)name:逻辑视图名,可以是Action类处理请求后返回的字符串内容。
2)type:结果类型。
代码:
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="package_a" extends="struts-default">
<action name="test1" class="testAction.Test1Action">
<result name="error" type="dispatcher">error.jsp</result>
<result name="success" type="dispatcher">welcome.jsp</result>
</action>
</package>
</struts>
(2)在<result>的属性中,type属性可以省略,它的默认type属性为dispatcher(type的默认值也可以通过修改配置文件修改);name属性也可省略,省略时代表name默认为success。
代码:
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="package_a" extends="struts-default">
<action name="test1" class="testAction.Test1Action">
<!-- 省略type属性,默认为dispatcher -->
<result name="error">error.jsp</result>
<!-- 省略name和type属性,默认为:name="success" type="dispatcher" -->
<result>welcome.jsp</result>
</action>
</package>
</struts>
Struts2的处理结果(一)——处理结果的配置的更多相关文章
- 关于mybatis的参数2个使用经验(类似于struts2的通配所有页面的action配置,xmlsq语句参数类型为基本类型时的快捷指定办法)
1.我们都知道在struts2中为防止浏览器绕过struts过滤器直接请求页面,所以我们都会配置一个拦截所有页面的action,如下: <action name="*"> ...
- Struts2的处理结果(三)——动态配置结果
Struts2的处理结果(三) --动态配置结果 1.使用表达式语法 示例: <struts> <constant name="struts.enable.DynamicM ...
- struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)
课时22 基于XML配置方式实现对action的所有方法进行校验 使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...
- struts2.1.6教程二、struts.xml配置及例程
1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts. ...
- struts2的占位符*在action中的配置方法
转自:https://blog.csdn.net/u012546338/article/details/68946633 在配置<action> 时,可以在 name,class,meth ...
- struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)
Struts2支持使用注解配置Action,减少配置文件的配置 Struts2如果要支持注解配置Action,需要插件的支持,导入插件struts2-convention-plugin-2.1.8.1 ...
- <转>struts2中Convention中的basePackage与locators配置种种
用了Convention插件来实现所谓的0配置, 1. struts.convention.package.locators.basePackage=com.ZTest.web.action 这个属性 ...
- Struts2 拦截器(Interceptor )原理和配置
http://blog.csdn.net/kingmax54212008/article/details/51777851
- jquery+ajax+struts2
AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新.编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同.这意味着您必须编写额外的代码对 ...
- Struts2 更改校验配置文件位置
@(Java)[Struts|Interceptor] Struts2 更改校验配置文件位置 在Struts2中提供的拦截器校验ValidationInterceptor,该校验器中默认的配置文件位于 ...
随机推荐
- register_shutdown_function
脚本时常死掉,而且并不总是那么好看. 我们可不想给用户显示一个致命错误,又或者一个空白页(在display_errors设为off的情况下) . PHP中有一个叫做 register_shutdow ...
- 夺命雷公狗—angularjs—15—内置封装好的计时器$interval和$timeout
这里其实和js源生的效果是一样的,但是源生的在angularjs里面不能直接正常执行代码如下所示: <!DOCTYPE html> <html lang="en" ...
- Android真机测试 INSTALL_FAILED_INSUFFICIENT_STORAGE 解决方法[转]
方法一: 试试修改一下manifest文件 :添加 一句: android:installLocation="preferExternal" [html]view plainc ...
- session与cookie的讲解
session_start();//开启session http,无状态性 记录状态SESSION COOKIE SESSION :存储在服务端(器)的:每个人存一份:可以存储任意类型的数据:默认过期 ...
- [Ubuntu] Remove Byte Order Mark (BOM) from files recursively [Forward article]
Original article: http://www.yiiframework.com/wiki/570/remove-byte-order-mark-bom-from-files-recursi ...
- 转:Eclipse常用开发插件
以下是我整理的自己开发过程中的常用Eclipse插件,按字母排序: (1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,sequen ...
- Delphi 调用 Rest 服务的一些
1.关于数据接收的格式 测试发现获取的json源数据中间汉字的地方是乱码,导致引号不配对,引发内存错误. TIdHttp在获取数据之前,要将定义的TStringStream的Encoding设置为UT ...
- 【python cookbook】【字符串与文本】5.查找和替换文本
问题:对字符串中的文本做查找和替换 解决方案: 1.对于简单模式:str.replace(old, new[, max]) 2.复杂模式:使用re模块中的re.sub(匹配的模式, newstring ...
- Apache服务器访问过慢分析及解决
起因:线上的一台服务器,最近总是出现 访问 很慢的情况发生,点击一个链接要2秒钟以上才能打开,按照我们对于访问人数的估计,服务器应该不至于响应这么慢,从而需要针对这个问题进行分析,来解决网站访问过慢. ...
- jquery,返回到顶部按钮
HTML: <footer> <a href="#" class="top">↑</a> </footer> C ...