局部变量类型转换
我们看下面代码,InputAction中有一个属性point ,是PointBean类型
要做到针对point属性的转换,也就是 字符串->对象 对象->字符串
给出PointBean代码
首先,要在InputAction类的同包目录下建立名为InputAction-conversion.properties的资源文件
InputAction-conversion.properties这个属性 中划线前面是指类的名字,线后是固定名称。
然后在其中进行配置,表明要转换的属性,目前只有这一行,
point=cn.zhao.action.conver.PointConvert
point是指InputAction中的属性名,等号后面的内容是指针对些较换的具体实现类
下面,我们给出转换类代码
代码中首先根据要转换的目的类型进行判断if( String.class == toType ),然后执行相应的转换代码
转换类还有另一种写法,继承StrutsTypeConverter,实现其中的两个方法convertFromString
convertToString
下面给出代码
以上部分是局部类型转换,可以看出是针对某一个Action中的成员进行转换
下面介绍全局类型转换。
在classes下建立xwork-conversion.properties,名称固定!
配置文件中写入如下内容
cn.zhao.action.PointBean = cn.zhao.action.conver.CommonTypeConverPoint
等号前面,是指要转换的类型,等号后面,是指相应的转换类,此处我们使用了第二种转换方式
这样,在整个系统中,只要碰到PointBean类型的成员,便调用CommonTypeConverPoint类来转换,做到了
不受类的束缚,可以自由转换。
下面再介绍一种比较常用的转换方式,如果InputAction中有一个 private List<PointBean> points ;这样的成员
那么,转换类中应考虑循环