struts2,类型转换

首先要编写一个类型转换器,即一个继承了ognl的DefaultTypeConverter类的类,该类要重写convertValue方法

 

然后定义一个属性文件,让struts2知道你要对你的action中哪个成员变量进行类型转换(无级次限制,即可对成员变量里的属性进行深层次转换)

 

该属性文件命名有要求:youractionname-conversion.properties,并且要与你的action类在同一个包下

该文件内容如下面形式(假设你的action有一个coordinate属性,它是一个自定义类型,该类中又有一个名字为user的自定义类型。。。以此类推)

coordinate =org.act.modules.type.CoordinateTypeConverter
coordinate.user =org.act.modules.type.UserTypeConverter

 

 

对于全局类型转换,需要将properties文件放在src目录下,即classpath根目录

并且properties文件内容与局部的文件内容稍有不同

bean.User = org.xxx.xxx.*Converter

等号左边不在是某个action的属性名,而是需要被转换的类型对应的class类全域名

PS:类型转换可逆,即也可以用于后台向前台渲染时的转换,另推荐继承StrutsTypeConverter,该类更方便

你可能感兴趣的:(struts2)