Struts2的类型转换

来源:互联网 发布:仿淘宝订单页面 编辑:程序博客网 时间:2024/03/28 19:03
 转化类一般继承StrutsTypeConverter,而不会DefaultTypeConverter
 
 1. 基本类型的转换:
  int, Date struts2默认就将它转换了.
 
 2. 自定义对象类型的转换 
  比如要对xxxAction中的User的成员变量user进行类型转换,
  i. 局部转化:
   a. 在Action的同级目录下新建一个xxxAction-conversion.properties文件
     user=转换类的包路径+类名
   b. 执行过程:
    在Action中进行属性赋值时,在赋值前,它会检查对当前属性有没有定义一个自定义类型的转化,
    没有的话就会按照默认的类型转换进行转换.
    若有的话(即在当前目录下有xxxAction-conversion.properties)
    它会检查properties文件中要对哪个属性进行转化,当要对那个属性进行赋值的话就会交给key所对应的value值的类进行转化.
    然后它根据要转换的类型执行对应的代码.
    当自定义的转换类执行完成之后,xxxAction中那个属性就会被赋值.值就是转化类中的方法执行完后返回的值.
    然后会执行输入校验.
  
  ii.全局转化:(当很多Action中都有一个User user,那就要写多个xxxAction-conversion.properties文件,这时就要用到全局转化)
   a. 在classes(src)目录下新建一个xwork-conversion.properties文件.
    要进行转化的那个类型的类名=处理转化的那个类的类名
    com.test.bean.User = com.test.converter.UserConverter