码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2(四) 拦截器

时间:2019-04-24 22:18:21      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:拦截器   action   aop   ges   位置   sources   调用   mode   pre   

一、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(四) 拦截器

标签:拦截器   action   aop   ges   位置   sources   调用   mode   pre   

原文地址:https://www.cnblogs.com/shelly0307/p/10765268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!