• 8、类型转换器


    struts2有两种"类型转换器":局部类型转换器全部类型转换器;
     
         局部类型转换器使用方法如下:
    1. 首先继承:DefaultTypeConverter 类型转换器类,然后自己重写convertValue 方法,某日期转换器代码如下:
    package cn.itcast.type.converter;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Map;
    import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;
    public class DateConverter extends DefaultTypeConverter {
        @Override
        public Object convertValue(Map<String, Object> context, Object value,
                Class toType) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
            try {
                if (toType == Date.class) {
                    //requets.getPrameterValues()获取的,所以采用String[]数组形式,如复选框有多个值,
                    //因为struts是一个框架,所以要处理各种可能
                    String[] params = (String[]) value;
                    return simpleDateFormat.parse(params[0]);
                } else if (toType == String.class) {
                    Date date = (Date) value;
                    return simpleDateFormat.format(date);
                }
            } catch(ParseException e) {
                e.printStackTrace();
            }
            return super.convertValue(context, value, toType);
        }    
    }
    2. 在该Action下新建properties文件,命名规则如下:
       Action类所在的包下放置ActionClassName-conversion.properties文件,ActionClassNameAction的类名,后面的-conversion.properties是固定写法,对于本例而言,文件的名称应为HelloWorldAction-conversion.properties 。在properties文件中的内容为:

    属性名称=类型转换器的全类名

    对于本例而言, HelloWorldAction-conversion.properties文件中的内容为:

       birthday=cn.itcast.type.converter.DateConverter

    3. 运行结果如下:
        




  • 相关阅读:
    【转】Mongo初体验
    公益图书馆-学习笔记六 volist嵌套
    公益图书馆-学习笔记五-jquery来动态设置div高度
    公益图书馆-学习笔记四-复选框及jquery的onchange函数
    JQuery学习
    公益图书馆-学习笔记三
    公益图书馆-OnshelfController-代码学习
    公益图书馆-学习笔记二
    相似图像搜索从训练到服务全过程
    pickle 基础用法
  • 原文地址:https://www.cnblogs.com/zmpandzmp/p/3649026.html
Copyright © 2020-2023  润新知