Struts2 拦截器

Posted shelly0307

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2 拦截器相关的知识,希望对你有一定的参考价值。

一、struts2国际化
定义:同一款软件 可以为不同用户,提供不同语言界面
第一种 全局国际化信息文件 (所有Action都可以使用 ) ------- 最常用
1、properties文件可以在任何包中
2、 需要在struts.xml 中配置全局信息文件位置
<!-- messages.properties 在src根目录 -->
<constant name="struts.custom.i18n.resources" value="messages"></constant>  
<!-- messages.properties 在 cn.itcast.resources 包 -->
<constant name="struts.custom.i18n.resources" value="cn.itcast.resources.messages"></constant>   

3、在Action中使用: this.getText("msg");

4、在jsp中使用  :<s:text name="msg" />

5、在配置文件中(校验xml) : <message key="agemsg"></message>

第二种 Action范围信息文件 (只能在某个Action中使用 )

第三种 package范围信息文件(package中所有Action都可以使用 )

第四种 临时信息文件(主要在jsp中 引入国际化信息 )

 
二、struts2拦截器----重点
拦截器的使用 ,源自Spring AOP(面向切面编程)思想。

拦截器 采用责任链 模式

*  在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。

*  责任链每一个节点,都可以继续调用下一个节点,也可以阻止流程继续执行

在struts2 中可以定义很多个拦截器,将多个拦截器按照特定顺序 组成拦截器栈(顺序调用 栈中的每一个拦截器 )

1、struts2 所有拦截器 都必须实现 Interceptor 接口
2、AbstractInterceptor 类实现了 Interceptor 接口. 并为 init, destroy 提供了一个空白的实现。
所有实际开发中,自定义拦截器 只需要 继承 AbstractInterceptor类, 提供 intercept 方法实现
3、常用struts2 拦截器
<interceptor-ref name="modelDriven"/> 模型驱动
    <interceptor-ref name="fileUpload"/> 文件上传
    <interceptor-ref name="params"> 参数解析封装 
    <interceptor-ref name="conversionError"/> 类型转换错误
    <interceptor-ref name="validation"> 请求参数校验
    <interceptor-ref name="workflow"> 拦截跳转 input 视图
4、实例:登陆权限控制
 
三、struts2文件上传与下载

以上是关于Struts2 拦截器的主要内容,如果未能解决你的问题,请参考以下文章

Fileuploader拦截器Struts2

Struts2拦截器浅解

Struts2学习:interceptor(拦截器)的使用

Struts2

Struts2

Struts2拦截器