struts自定义类型转换器

struts自定义类型转换器

在struts接收的请求参数都是字符串,但是struts定义了很多的类型转换器,对基本类型进行了很好的转换,但仍然满足不了广大开发者的需求,此次我们自定义一个全局的类型转换对日期类型进行简单的转换,当然方法很多,我只说一种简单的,够用就行:

package com.hpu.convertor;

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

import org.apache.struts2.util.StrutsTypeConverter;

public class DateConvertor extends StrutsTypeConverter {
	private final DateFormat[] dfs = {
			new SimpleDateFormat("yyyy-MM-dd")
	};

	@Override
	public Object convertFromString(Map context, String[] values, Class toType) {
		// 获取要转换数据的值
		String dateStr = values[0];
		for(int i = 0; i < dfs.length; i++) {
			try {
				return dfs[i].parse(dateStr);
			} catch (ParseException e) {
				continue;
			}
		}
		return null;
	}

	@Override
	public String convertToString(Map context, Object object) {
		Date date = (Date)object;
		return new SimpleDateFormat("yyyy-MM-dd").format(date);
	}

}

 对类型转换器进行配置:

在src目录下添加xwork-conversion.properties文件:

java.util.Date=com.hpu.convertor.DateConvertor

 

你可能感兴趣的:(struts)