美文网首页
Struts类型转换

Struts类型转换

作者: 打死你的小乌龟 | 来源:发表于2018-01-14 01:20 被阅读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”的配置文件(实际上是一个语言消息包)

相关文章

网友评论

      本文标题:Struts类型转换

      本文链接:https://www.haomeiwen.com/subject/tznhoxtx.html