struts2 类型转换:
在处理form提交都以字符串形式,但action中是对象形式,之间的转换,Struts2提供了类型转换机制。
基本类型可以完成自动转换完成,转换对象类型,基于OGNL
1局部类型转换
<1>自定义类型转换处理类 extends DefaultTypeConverter 重写父类的convertValue(Map context, Object value, Class toType)如:
public class PointConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context, Object value, Class toType) {
if (XXX.class == toType) {
doConvert
return 对象;
} else if (String.class == toType) {
doConvert
return 字符;
}
return null;
}
}
<2>或继承StrutsTypeConverter
重写
Object convertFromString(Map context,String[] values,Class toClass)
String convertToString(Map context, Object o)
<3>配置文件:
Action类名-conversion.properties 需要和对应Action在同一目录下
内容:
属性名=转换类名 (多个属性就写多行)
2全局类型转换
<1>. <2>. 与局部类型转换相同
<3>.配置文件:
xwork-conversion.properties(固定的)
内容:
需要类型转换的Action的全称类名=转换类名