zoukankan      html  css  js  c++  java
  • 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. 运行结果如下:
        




  • 相关阅读:
    考研笔记-物理层协议
    考研笔记-数据链路层和局域网
    考研笔记-网络层和路由
    考研笔记-运输层服务和工作原理
    考研笔记-应用层
    考研笔记-数据通信技术基础
    考研笔记-计算机网络协议和体系结构
    计算机网络复习(一)
    “百度杯”CTF比赛 十月场_GetFlag(验证码爆破+注入+绝对路径文件下载)
    “技术产品”面向市场的表达方法思辨——BY Me
  • 原文地址:https://www.cnblogs.com/zmpandzmp/p/3649026.html
Copyright © 2011-2022 走看看