美文网首页
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