- 浏览: 471222 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
excellent95:
谢楼主分享,确实是CSS图片问题
Struts2判断页面是POST方式提交还是GET方式提交 -
wangluo2:
javaBase那个包显示有问题啊pom文件那一行报错了
微信公众平台开发实战(08) 基于地理信息的服务(LBS) -
andilyliao:
jd技术这么渣也好意思出书,真是醉了
《京东技术解密》试读--十年磨一剑 -
bitray:
刘强东作序多什么,他也不会什么技术,腾讯出来帮他还不是因为腾讯 ...
《京东技术解密》试读--十年磨一剑 -
come_for_dream:
想试试搞这个
《大型分布式网站架构设计与实践》试读
struts.xml 配置详解之三 拦截器配置
1. 拦截器( Interceptor )配置
拦截器能在action 被调用之前和被调用之后执行一些“代码”。Struts2 框架的大部分核心功能都是通过拦截器来实现的,如防止重复提交、类型转换、对象封装、校验、文件上传、页面预装载等等,都是在拦截器的帮助下实现的。
每一个拦截器都是独立装载的(pluggable) ,我们可以根据实际的需要为每一个action 配置它所需要的拦截器,例如,一个action 需要用来类型装换、文件上传,那么我们可以给它设置相应的两个拦截器。
1.1 、拦截器配置
代码清单 1 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 timer 的拦截器 -->
< interceptor name = "timer"
class = "com.opensymphony.xwork2.interceptor.TimerInterceptor" />
<!-- 定义名为 params 的拦截器 -->
< interceptor name = "params"
class = "com.opensymphony.xwork2.interceptor.ParametersInterceptor" />
</ interceptors >
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
<!-- 为 login action 指定拦截器引用,当 login action 被调用时,
timer 和 params 拦截器也会被调用 -->
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
</ action >
</ package >
1.2 、拦截器栈配置
拦截器栈注意点:
1、 拦截器栈即引用其他拦截器,也可以引用其他拦截器栈;
2、 引用其他拦截器栈必须是当前包中 的栈,或者是“父”包中 的栈,如某包继承在默认包,则可以引用默认包中的栈;
代码清单 2 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 loginStack 的拦截器栈,拦截器栈可以包含其他拦截器栈,
同时,该栈必须在本包或者 “ 父 ” 包中,如此处的 “struts-default” 包中 -->
< interceptor-stack name = "loginStack">
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
< interceptor-ref name = "basicStack" />
</ interceptor-stack >
</ interceptors >
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg /loginSuc.jsp
</ result >
< result name = "input"> /msg /loginFail.jsp
</ result >
<!-- 为 login actin 指定拦截器引用,引用名既可以是拦截器名,
也可以是拦截器栈名 -->
< interceptor-ref name = "loginStack" />
</ action >
</ package >
1.3 、默认拦截器栈引用
代码清单 3 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 loginStack 的拦截器栈 -->
< interceptor-stack name = "loginStack">
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
< interceptor-ref name = "basicStack" />
</ interceptor-stack >
</ interceptors >
<!-- 定义默认拦截器栈的引用 -->
< default-interceptor-ref name = "loginStack" />
<!-- 包中的所有 action 都将使用默认的拦截器栈引用 -->
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
</ action >
< action name = "user" class = "com.coderdream.action.UserAction">
< result name = "success"> /msg/userSuc.jsp </ result >
</ action >
</ package >
在struts 的默认配置文件的默认包中,定义了默认拦截器栈的引用:
代码清单 4 : struts-default.xml 片段
< package name = "struts-default" abstract = "true">
< default-interceptor-ref name = "defaultStack"/>
</ package >
所以,如果在action 中定义了其他的拦截器引用,那么这个action 将不再使用默认的拦截器引用。
代码清单 5 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
<!-- 为 login action 指定拦截器引用,默认的拦截器不再起作用 -->
< interceptor-ref name = "timer" />
</ action >
</
package
>
我的联系方式: 85337464
我的博客: http://coderdream.iteye.com
- 0403.struts.xml配置详解之三_拦截器配置.pdf (232.3 KB)
- 下载次数: 24
发表评论
-
Maven Struts2 项目
2013-09-14 11:44 01、创建好Maven环境; 2、创建一个Maven工 ... -
【张冰Struts2学习笔记】0601.struts.xml配置详解之六 Action配置3 通配符
2010-11-26 15:19 2551struts.xml 配置详解之六 通配符 ... -
【张冰Struts2学习笔记】0502.struts.xml配置详解之五 Action配置2
2010-11-26 14:28 1897struts.xml 配置详解之五 Action ... -
【张冰Struts2学习笔记】0501.struts.xml配置详解之四 Action配置1
2010-11-26 13:10 1877struts.xml 配置详解之四 Action 配置 ... -
【张冰Struts2学习笔记】0402.struts.xml配置详解之二 名称空间 包含
2010-11-25 18:59 1891struts.xml 配置详解之二 名称空间 包含 ... -
【张冰Struts2学习笔记】0401_struts.xml配置详解之一
2010-11-25 13:56 2294struts.xml 配置详解之一 Bean ... -
【张冰Struts2学习笔记】0302.Struts2的主要配置文件及优先级
2010-11-20 16:33 1678Struts2 的主要配置文件及优先级 ... -
【张冰Struts2学习笔记】0301_struts.properties 配置详解(表格版)
2010-11-17 15:23 1570注:附件pdf中有35个属性! ... -
【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法
2010-11-17 12:32 2038Struts2的三种接收用户输入的方法 ... -
【张冰Struts2学习笔记】0201_Action接口与ActionSupport类
2010-11-16 15:32 4081Action 接口与ActionSupport ... -
【张冰Struts2学习笔记】0102_第一个Struts2实例
2010-11-14 19:17 2967基于Struts2 的简单登录项目 ... -
【张冰Struts2学习笔记】0101_Struts1与Struts2的不同点
2010-11-14 14:12 1376Struts1与Struts2的不同点 ... -
基于Struts2的Web应用程序所需要的最少类库
2010-08-30 16:17 1869Struts 2.0.11版: 文件名 ... -
Struts2判断页面是POST方式提交还是GET方式提交
2010-06-03 11:06 9114在项目开发过程中,发现有个页面会提交两次,一直没有找到原因,后 ... -
Struts2的一个问题!no found ApplicationContextAware
2009-06-15 16:39 1703问题: Caused by: java.lang.NoC ... -
struts2的select用法
2009-02-11 09:59 66461、在页面对应的Action中有typeBase属性,改变下拉 ... -
子页面刷新父窗口
2009-02-09 11:50 3118下面的例子是一个子窗体调用方法改变父窗体 主页面 cc.ht ... -
Struts2结合JavaScript控制单选框的状态
2008-12-26 11:48 2055需求: 某个页面有3种操作,新增、修改和删除,其中某个字段为只 ... -
《Struts2深入详解》笔记--第三章 由“登录开始”
2008-12-02 19:36 17191、使用领域对象来接收用户输入 【工程1:sx_ch ... -
Struts2使用经验
2008-11-27 14:35 1411、显示某个对象的某个属性值: 两种方式: ${enterpri ...
相关推荐
NULL 博文链接:https://coderdream.iteye.com/blog/812871
NULL 博文链接:https://coderdream.iteye.com/blog/811139
NULL 博文链接:https://coderdream.iteye.com/blog/813784
NULL 博文链接:https://coderdream.iteye.com/blog/811262
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
struts2的介绍,struts框架结构、控制器组件、标签库以及详细的配置文件描述
张冰主讲的struts2 ppt 比较详细的一份ppt
张冰主讲的Struts2的PPT,主要介绍Struts2和Struts1的区别,还介绍了简单的登录功能的实现。建议初学者看,可以让你从宏观上把握Struts2.
张冰_struts2_PPT 2009 ...............
Struts2_张冰_视频教程课件_PPT,张冰配套教学视频课件。
我主要参考了《深入浅出Struts2》、《Struts2.0中文教程》以及张冰老师的视频教程,这里借机很感谢他们,大家可以在网上收到这些资料,当然可以向我索要,我会很乐意给大家的。当然我不认为这是最好、最全的学习...
C面向对象程序设计张冰PPT学习教案.pptx
C面向对象程序设计张冰PPT课件.pptx
该文档是我看张冰老师的整合SSH视频的心得,我自己好不容易整合好了,将详细的步骤记录了下来,和大家分享,希望对大家有用!
C++面向对象程序设计 张冰 课件、源代码