其实就是一点,在src目录下,创建xwork-conversion.properties文件(这个位置不能改变!),写上:自定义类型的包名+类名 = 执行转换的类的包名 + Converter类名,如:person.domain.PersonDomain = utils.PersonConverter。这样action在执行set和get方法的时候,会自动查看classes目录下的xwork-conversion.properties文件,
以确定类型需不需要转换。
实例:
类名:class person {
private String id;
private String name;
private String address;
private String email;
//然后生成相应的get和set方法;
}
类型转换器:
public class PersonConverter extends StrutsTypeConverter {
@Override
public Object convertFromString(Map context, String[] value, Class toType) {
// 获取客户端传过来的数据数组
String p = value[0];
String ps[] = p.split(",");
String id = ps[0];
String name = ps[0];
String address = ps[1];
String email = ps[2];
PersonDomain person = new PersonDomain();
person.setId(id);
person.setName(name);
person.setAddress(address);
person.setEmail(email);
return person;
}
@Override
public String convertToString(Map context, Object obj) {
PersonDomain person = (PersonDomain) obj;
return person.getName() + "," + person.getAddress() + ","
+ person.getEmail();
}
}
新增页面:
<s:label value="person的字符串的表示方法"/><s:textfield name="person" value=""/> value = '005,005,005,005@163.c0m'
修改页面的显示:<s:label value="类型转换器"/> <s:textfield key="person"/> 显示结果:005,005,005@163.com