`

struts学习笔记二:国际化和拦截器

    博客分类:
  • Java
阅读更多

1,xwork校验框架分为,属性优先,校验器优先:

思路:先写上校验器,然后写属性.

写法:<validator type="requiredstring">

<param name="fieldName">username</param>

<message>username invalide</message>

</validator>

<validator type="stringlength">

<param name="fieldName">username</param>

<param name="minLength">6</param>

<param name="maxLength">10</param>

<message>username  length should be 6-10</message>

</validator>

2,ognl标签库

<s:form action="register" theme="simple">

<s:textfield name="username" label="username"></s:textfield>

<s:password name="password" label="password"></s:password>

<s:password name="repassword" label="repassword"></s:password>

<s:textfield name="age" label="age"></s:textfield>

<s:textfield name="graduation" label="graduation"></s:textfield>

<s:textfield name="birthday" label="birthday"></s:textfield>

</s:form>

不仅内置了信息输出的功能,还能保存之前输入的信息.

3,struts2如何判断输入信息出错的?

ActionSupport类中有

bool hasActionError()

bool hasFieldError()

bool hasErrors()

4,属性驱动的Action:把对象的属性写在Action中

模型驱动的Action:直接把类写在Action中,需要实现ModelDriven<T>接口

Action不是单实例的,一个请求实例化一次;serverlet是单实例的.

Preparable接口,预处理跟逻辑无关的准备工作.

5,国际化 internationalization

获得系统提供的语言种类

Locale[] locals=Locale.getAvailableLocales();

locale[i].getDisplayCountry()

locale[i].getCountry()

获取国际化相关的信息

Locale locale=Locale.US;

ResourceBundle bundle=ResourceBundle.getBundle("helloworld",locale);

bundel.getString("hello");

helloworld-en-US.properties

helloworld-zh-CN.properties

获得动态指定的信息

MessageFormat.format("hello",new Object[]{"中国"}) 输出hello:中国

getText( key,value)

原理:浏览器发送请求的时候发送了语言.

6.过滤器和拦截器原理

过滤器:实现Filter接口

拦截器:Intercepor接口,struts的核心,

init() 

String intercept(ActionInvocation invacation)

destory()

第一步:定义一个拦截器类,必须实现Interceptor接口.

invoke() 调用下一个拦截器

第二步:申明拦截器

在配置文件中申明:

<interceptors>

<interceptor name="a" class=""></interceptor>

</interceptors>

第三步:使用拦截器

在Action的result后使用

<interceptor-ref name="a"></interceptor-ref>

拦截器在服务器启动前init()

执行自己的方法,执行Action的方法

注意:引用自己的拦截器在先,然后再引用struts默认的拦截器.defaultStack

使用拦截器中的参数值:<param name="hello">world</param>

在类中增加一个属性,即可读取value.

 

实现拦截器也可继承AbstractIntercptor,重写intercept()方法即可.

多拦截器执行顺序:后进先出.

对方法的拦截器和对类的拦截器

MethodFilterInterceptor

成员excludeMethods 不拦截的方法

 

 

 

2
2
分享到:
评论
1 楼 tian583391571 2012-02-28  
有什么不对的,请指出.

相关推荐

    struts2 学习重点笔记

    这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用

    struts2学习笔记

    struts2学习笔记,拦截器,action,所需jar包,从零开始

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 ...09 自定义拦截器 38 10 类型转换 38 Struts2总结 39

    struts拦截器 课堂笔记

    适合新手借鉴的struts学习笔记,更适合一入门的老手借鉴,个人学习心得

    struts2.2学习笔记

    struts2.2学习笔记总结,action,拦截器,过滤器,国际化,struts.xml解析等的总结。

    Struts2学习笔记

    struts2快速入门学习笔记,包含执行流程、验证、拦截器、国际化等的使用

    struts2学习笔记十(第10讲.Struts2的核心 拦截器)

    NULL 博文链接:https://zhaolianyang.iteye.com/blog/870600

    struts项目学习笔记

    基于AOP(面向切面编程)思想的拦截器机制,更易扩展(不修改源代码的条件下,增强代码功能) 更强大、更易用输入校验功能 整合Ajax支持:json插件 Struts2的今生前世: 1.早期开发模型Servlet+JSP+JavaBean显得...

    struts学习笔记(2)

    11.拦截器 interceptor(和之前学的filter很类似) 1)什么起作用 当前struts2的filter过滤到一个.action结尾的请求的时候,会把这个请求交给struts2内部的拦截器(interceptor) 2)拦截器起到什么作用 可以帮我们丰富...

    Struts 2.1.8_学习源码

    Struts 2.1.8 学习源码内容 Struts2_01FirstDemo : 跑通第一个Struts2的实例 Struts2_02CURD : 关于Struts2的增、删、...Struts2_05Interceptor : Struts2拦截器的使用 Struts2_06FileUpload : Struts2上传文件的使用

    Struts2.1学习笔记

    基于 Struts2.1.8 包括Struts2的基本应用、文件上传、拦截器、输入校验、国际化、OGNL表达式、Struts2标签等内容。

    struts2入门笔记与源码

    学习struts2的笔记与源码:输入验证、国际化、拦截器等

    struts2学习笔记十一(第11讲.Struts2的核心 拦截器续)

    NULL 博文链接:https://zhaolianyang.iteye.com/blog/872317

    struts2的学习笔记+测试源代码

    拦截器 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    SpringMVC学习笔记整合搭建框架

    8、拦截器 2.Spring入门 2.1.Springmvc是什么 3.3.jdbc编程步骤: 1、加载数据库驱动 2、创建并获取数据库链接 3、创建jdbc statement对象 4、设置sql语句 5、设置sql语句中的参数(使用preparedStatement) 6、通过...

    struts2框架学习项目,根据各个知识点分包分类实例

    struts2框架教学项目,针对每个知识点都有一个对应的实例,内嵌学习笔记。想学习的同学绝对适合,本人亲自教学实例。

    Java学习笔记-个人整理的

    {1.4.2}格式化输出浮点数}{24}{subsection.1.4.2} {1.4.3}\texttt {char}}{24}{subsection.1.4.3} {1.4.4}转义字符}{25}{subsection.1.4.4} {1.4.5}Boolean 布尔值}{25}{subsection.1.4.5} {1.5}基本类型变量的...

    跟我学javaweb全套ppt

    《跟我学Java Web》内容包括搭建Web开发环境、HTML相关技术基础知识、...拦截器、输入校验、国际化、Struts2的各种标签、对Ajax的支持等)、Spring2.5(容器、装配Java Bean、JDBC和Hibernate模板等)以及Hibernate3...

Global site tag (gtag.js) - Google Analytics