(8)Struts转换器

转换器怎么写呢?

1.创建转换器类继承StrutsTypeConverter

2.日期转换器

public class Date01Converter extends StrutsTypeConverter {
private final static SimpleDateFormat sdf=new SimpleDateFormat("yyyy|MM|dd");
	@Override
	public Object convertFromString(Map arg0, String[] values, Class arg2) {
		// TODO 自动生成的方法存根
		try {
			if(values.length<=1) {
					return sdf.parse(values[0]);//parse可以将String类型的字符串转换为特定格式的date类型
			}
		} catch (ParseException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public String convertToString(Map arg0, Object obj) {
		// TODO 自动生成的方法存根
		return sdf.format((Date)obj);//将日期date对象转换为String类型的字符串
	}

}

3.普通转换器

public class PointConverter extends StrutsTypeConverter {

	@Override
	public Object convertFromString(Map arg0, String[] values, Class arg2) {
		// TODO 自动生成的方法存根
		Point point=null;
		if(values.length<=1) {
			String str=values[0];
			String[] coordinates=str.split(",");
			point=new Point();
			point.setX(Integer.parseInt(coordinates[0]));
			point.setY(Integer.parseInt(coordinates[1]));
		}
		return point;
	}

	@Override
	public String convertToString(Map arg0, Object obj) {
		// TODO 自动生成的方法存根
		Point point=(Point)obj;
		return point.getX()+","+point.getY();
	}

}

 

1.局部类型转换器

 

在action包中放文件名为:ActionClassName-conversion.properties

里面放置action里面的属性-完整转换器类名(包+类)

2.全局类型转换器

在src中放文件名为xwork-conversion.properties

里面放要转换的完整类名-完整转换器类名(包+类)

model.Point=converter.PointConverter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值