转换分为两种:
①应用全局范围的类型转换器
在src下创建xwork-conversion.properties文件
文件内容:全类名=全转换器
例如com.mynews.entity.Point=com.mynews.converter.PointConverter
就是将com.mynews.entity包下的point类应用com.mynews.converter下的PointConverter转换器
package com.mynews.converter;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import com.mynews.entity.Point;
public class PointConverter extends StrutsTypeConverter {
@Override
public Object convertFromString(Map context, String[] values, Class toType) {
// TODO Auto-generated method stub
String pointStr=values[0];
String[] items=pointStr.split(",");
Point point=new Point();
point.setPagex(Integer.parseInt(items[0]));
point.setPagey(Integer.parseInt(items[1]));
return point;
}
@Override
public String convertToString(Map context, Object object) {
// TODO Auto-generated method stub
String format=null;
if(object instanceof Point){
Point point=(Point)object;
format="("+point.getPagex()+","+point.getPagey()+")";
}
return format;
}
}
实际开发中一般是应用全局范围的类型转化器
②应用特定类的类型转换器
在特定类的目录下创建文件,格式为
类名-conversion.properties文件
例如我要将我的com.mynews.action包下的RegDemoAction应用一个转换器
新建一个RegDemoAction-conversion.properties文件
文件内容如下point=com.mynews.converter.PointConverter