struts2学习笔记

来源:互联网 发布:oracle sql基础 pdf 编辑:程序博客网 时间:2024/05/16 10:37
 

0、struts2是由WebWork 2 和struts1 发展而来的,结合了他们的优点。

1、struts2中的Interceptor接口拦截器接口中的方法intercept方法属于AOP编程中的环绕通知


2、struts2中如果自定义了拦截器,那么它的核心拦截器都将失效,所以如果既要是struts2中的核心功能核心拦截器不失效又要实现自定义拦截器
能,那么就必须在struts.xml配置文件中注入拦截栈,栈中首先应用默认的拦截器defaultStack,其次在应用自定义的拦截器,这样就可以在


3、java.util.regex.Pattern类实现正则表达式校验
   Pattern.compile("^1[358]\\d{9}$").matcher("13409122011").matches()//手机号校验
   //^1[358]\\d{9}$————^1表示必须以1开头,[358]表示第二位必须是358数字中的一个,\d{9}表示后边9位中每一位都是数字中的一个数字,$表示以数字结束


4、struts2的输入校验流程

   1、类型转化器对请求参数执行类型转换,并把转换后的值赋给action中的属性
   2、如果在执行类型转化器的时候出现异常,系统会将异常信息保存到ActionContext,ConversionError拦截器将异常信息添加到fieldErrors中。
      不管类型转换是否出现异常都会进入第3步。
   3、系统通过反射机制先调用action中的validateXxx()方法Xxx为方法名
   4、再调用action的validate()方法
   5、经过上面4步,如果系统中fieldErrors中存在错误信息(即存放错误信息的集合size大于0),系统自动将请求转发到名为input的视图中。
      如果系统中没有任何错误信息,系统将执行action中的处理方法。
  
   注明:如果请求action的时候老是转到名为input的视图(result)的话,可能是类型转换错误。


5、struts2提供了两种输入校验的方法:
   1、手工编写代码实现
   2、基于XML配置方式实现

 

6、xml文件中常会出现的符号<![CDATA[*]]>意思是*号部分可能出现xml规定的字符,加上这个符号之后
    注明[]中的内容以普通文本的格式处理。


7、中文属性文件,编写好后,可以使用jdk提供的native2ascii命令把文件转换为unicode编码的文件
    命令的使用方式如下:
    native2ascii 编码格式 源文件.properties  目标文件.properties
    用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]
    例如:native2ascii -encoding GBK E:\a.properties   E:\b.properties 

 

 

原创粉丝点击