Struts2_Converter(转换器的使用)_Demo

本文介绍如何在Struts2中实现自定义类型转换器,包括针对Point对象和两种日期格式的具体实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package org.com.test.converter;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;
import org.com.test.model.Point;
/**
 * 要为某个对象增加相应的类型转换器,首先得创建一个类继承StrutsTypeConverter
 * @author Administrator
 *
 */
public class PointConverter extends StrutsTypeConverter {
	
	private Point point = null;
	/**
	 * 完成字符串到对象的转换
	 */
	@Override
	public Object convertFromString(Map context, String[] values, Class toClass) {
		try {
			if (values.length<=1) {
				String conver = values[0];
				String [] str = conver.split(",");
				point = new Point();
				point.setX(Integer.parseInt(str[0]));
				point.setY(Integer.parseInt(str[1]));
			}
		} catch (NumberFormatException e) {
			e.printStackTrace();
		}
		return point;
	}
	/**
	 * 完成对象到字符串的转换
	 */
	@Override
	public String convertToString(Map context, Object o) {
		Point p = (Point)o;
		return p.getX()+","+p.getY();
	}

}

org.com.test.model.Point=org.com.test.converter.PointConverter

************************************************************************************************************************************************************************************************************************************************************************全局转换器结束*****************************************************************************************************

package org.com.test.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class DateConverter01 extends StrutsTypeConverter{
	
	private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	private Date date = null;
	@Override
	public Object convertFromString(Map context, String[] values, Class toClass) {
		try {
			if (values.length<=1) {
				String str = values[0];
				date = sdf.parse(str);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	@Override
	public String convertToString(Map context, Object o) {
		
		return sdf.format((Date)o);//Parameters:date the time value to be formatted into a time string.
	}
	
}

package org.com.test.converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class DateConverter02 extends StrutsTypeConverter{
	
	private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
	private Date date = null;
	@Override
	public Object convertFromString(Map context, String[] values, Class toClass) {
		try {
			if (values.length<=1) {
				String str = values[0];
				date = sdf.parse(str);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	@Override
	public String convertToString(Map context, Object o) {
		
		return sdf.format((Date)o);//Parameters:date the time value to be formatted into a time string.
	}
	
}
msg.createDate=org.com.test.converter.DateConverter01
endDate=org.com.test.converter.DateConverter02



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值