Struts2中的类型转换

来源:互联网 发布:北京网络教育全程托管 编辑:程序博客网 时间:2024/04/20 10:24

 局部变量类型转换

我们看下面代码,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 ;这样的成员

那么,转换类中应考虑循环

 

原创粉丝点击