zoukankan      html  css  js  c++  java
  • 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文件上传与下载
  • 相关阅读:
    ORA-65114
    Mariadb 10.14 mysqldump error: 1049
    nginx:403 forbidden
    ORA-01017
    oracle 12C 之 Clone 数据库
    Selinux的基本使用
    This system is not registered to Red Hat Subscription Management
    Emacs: too long for unix domain socket
    hive 之 元数据表结构(Mysql)
    hive之SerDe
  • 原文地址:https://www.cnblogs.com/shelly0307/p/10765268.html
Copyright © 2011-2022 走看看