自定义类型转换器必须实现
ongl.TypeConverter 接口或对这个接口的某种具体实现做扩展
扩展 StrutsTypeConverter 类
在大多数类型转换器里,
需要提供从 String 类型到非 String 类型和与此相反的转换功能
在 StrutsTypeConverter 中有两个抽象方法:
在 StrutsTypeConverter 中有两个抽象方法:
简单例子:
I:创建一个myTypeConverter转换器作用就是把一个字符串转换成一个数字
public class myTypeConverter extends StrutsTypeConverter {
@Override
public Object
convertFromString( Map context, String[]
values, Class toClass) {
System. out.println("values:
" + values[0]);
int parseInt = Integer.parseInt(values[0]);
return parseInt;
}
@Override
public String convertToString( Map context, Object o) {
System. out.println(o);
return null ;
}
}
II:在action中有一个属性
public class UserAction extends ActionSupport implements Preparable,
ModelDriven<User>,
RequestAware {
private Integer num;
public void setNum(Integer num) {
System. out.println("user NUm:
" +num);
this.num = num ;
}
public Integer getNum() {
return num ;
}
}
III:创建一个属性文件: UserAction-conversion.properties
编辑属性文件:
num=myTypeConverter .myType
在properties文件中的内容为:
属性名称=类型转换器的全类名
对于本例而言,文件的名称应为UserAction- conversion.properties
属性名称=类型转换器的全类名
对于本例而言,文件的名称应为UserAction- conversion.properties
2:基于类配置(全局):
在
WEB-INF/classes/ 目录下创建 xwork-conversion.properties
文件."
在properties文件中的内容为:
待转换的类型=类型转换器的全类名
对于本例而言, xwork-conversion.properties文件中的内容为:
在properties文件中的内容为:
待转换的类型=类型转换器的全类名
对于本例而言, xwork-conversion.properties文件中的内容为:
java.lang.Integer= typeCovert.myTypeConverter