struts2自定义类型转换器
2017-08-13 本文已影响0人
jose_dl
局部类型转换器
只对某一个action起作用
- 定义一个类型转换器.继承一个类,重写一个方法
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 MyDateConverter extends StrutsTypeConverter {
//1991-11-11
//把前台提交的字符串转换为具体的Date对象
@Override
public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
// TODO Auto-generated method stub
if (arg2 == Date.class) {
if (arg1!=null&&arg1.length>0) {
String string = arg1[0];
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = df.parse(string);
System.out.println("MyDateConverter.convertFromString()" +date);
return date;
} catch (ParseException e) {
//error.put("birthday", "出生日期格式为yyyy-MM-dd");
}
}
}
return null;
}
//把指定的Date对象转换为string
@Override
public String convertToString(Map arg0, Object arg1) {
// TODO Auto-generated method stub
if (arg1 instanceof Date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = (Date) arg1;
return df.format(date);
}
return null;
}
}
-
注册这个类型转换器
在那个action的包下面,搞一个配置文件。命名规则:简单类名-conversion-properties
image.png
内容
全局类型转换器、
对整个应用起作用
配置文件
命名
内容
image.png
注意:全局类型转换器转换的是整个类型了,不是局部那样搞某个action的类型