Struts类型转换

2018-01-14  本文已影响0人  打死你的小乌龟

自定义类型转换器
a、编写一个类,继承StrutsTypeConverter

//自定义类型转换器:
//String--->java.util.Date   MM/dd/yyyy
//java.util.Date----->String    MM/dd/yyyy
public class MyDateConvertor extends StrutsTypeConverter {
    
    private DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
    
    //String--->java.util.Date   MM/dd/yyyy
    //values:用户输入的值
    //toClass:目标类型
    public Object convertFromString(Map context, String[] values, Class toClass) {
        if(toClass==Date.class){
            if(values!=null&&values.length>0){
                String sdate = values[0];
                try {
                    return df.parse(sdate);
                } catch (ParseException e) {
                    throw new RuntimeException(e);
                }
            }
        }
        return null;
    }
    //java.util.Date----->String    MM/dd/yyyy
    public String convertToString(Map context, Object o) {
        if(o instanceof Date){
            Date d = (Date)o;
            return df.format(d);
        }
        return null;
    }
}
2.注册类型转换器
2.1局部类型转换器:给某个动作用的
在动作类所在的包中,建立一个“动作类名-conversion.properties”的配置文件
2.2全局类型转换器:
在构建路径的顶端(WEB-INF/classes)目录下建立名称为xwork-conversion.properties的配
置文件,按照要转换的目标类型进行转换器的配置。
3.转换失败时的数据回显和错误提示

前提:动作类需要继承ActionSupport
出现转换失败时,由一个名字为conversionError拦截器负责处理的。会把错误信息封装起来,并且转向一个叫做input的逻辑视图(用于回显数据)。
更改默认的错误提示:
在动作类的包中,建立一个“动作类名.properties”的配置文件(实际上是一个语言消息包)

上一篇下一篇

猜你喜欢

热点阅读