`

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 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 **3.4 请求转发与重定向** - **转发**:Action 的 execute 方法返回一个字符串,根据这个字符串找到对应...

    struts学习笔记

    ### Struts学习笔记详解 #### 一、Struts框架概览与编码设置 在学习Struts框架时,首要关注的是其编码配置。如代码片段所示,`struts.i18n.encoding`常量被设置为`UTF-8`,这确保了国际化(I18N)资源文件的正确...

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

    在Struts2中,拦截器扮演着至关重要的角色,它们是实现业务逻辑和控制流程分离开来的重要组件。本篇将深入探讨Struts2的核心拦截器以及其工作原理。 在Struts2中,拦截器是一个实现了`Interceptor`接口的类,它通过...

    struts2学习笔记总结

    2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序执行,实现如日志、权限检查、事务管理等功能。自定义拦截器可以扩展框架功能。 四、Action与结果 Action类是Struts2处理请求的核心,每个Action...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2学习笔记

    此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成等特性,为开发者提供了全面的Web应用开发解决方案。在实际开发中,熟练掌握Struts2的各种机制和最佳实践,能提高开发效率和代码质量。

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

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

    在本篇“Struts2学习笔记十一”中,我们将深入探讨Struts2的核心拦截器及其应用。 **1. 拦截器的概念** 拦截器是AOP(面向切面编程)的一部分,在Struts2中,它们作为一系列可插入的处理链,可以在Action执行前后...

    张龙圣思园struts2学习笔记word

    总的来说,张龙圣思园的Struts2学习笔记是全面了解和掌握Struts2框架的宝贵资源,无论你是初学者还是有经验的开发者,都能从中受益。它会帮助你深入理解Struts2的工作原理,掌握其核心特性和最佳实践,从而提升你的...

    struts2拦截器笔记

    通过深入学习 Struts2 的拦截器机制,开发者可以更好地理解框架的工作原理,并且能够定制化地处理业务需求,提高应用程序的效率和安全性。同时,这也为团队协作和代码规范提供了有力的支持。因此,熟悉并熟练运用...

    struts学习笔记(2)

    ### Struts2 拦截器 (Interceptor) 学习笔记 #### 一、拦截器的概念及作用 在Struts2框架中,拦截器扮演着非常重要的角色,它与Java Web开发中的过滤器(Filter)有相似之处但又有显著区别。拦截器的主要作用在于...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记(完美总结)——转自OPEN经验库

    在实际项目中,Struts2可以处理类型转换、文件上传下载、拦截器(Interceptor)防止重复提交等问题。Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入...

    struts2学习笔记二

    在本篇学习笔记中,我们将重点讨论Struts2框架中的Action和拦截器(Interceptor)如何处理请求参数。 首先,Struts2的核心是拦截器机制,它允许我们在Action执行前后插入自定义的处理逻辑。在`struts-default.xml`...

Global site tag (gtag.js) - Google Analytics