struts2自定义类型转换器

2017-08-13  本文已影响0人  jose_dl

局部类型转换器

只对某一个action起作用

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class MyDateConverter extends StrutsTypeConverter {

    
    //1991-11-11
    
    
    //把前台提交的字符串转换为具体的Date对象
    @Override
    public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
        // TODO Auto-generated method stub
        
        if (arg2 == Date.class) {
            
            if (arg1!=null&&arg1.length>0) {
                String string = arg1[0];
                
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                try {
                    Date date = df.parse(string);
                    System.out.println("MyDateConverter.convertFromString()" +date);

                    return date;
                } catch (ParseException e) {
                    //error.put("birthday", "出生日期格式为yyyy-MM-dd");
                }
            }
        }

        return null;
    }

    
    //把指定的Date对象转换为string
    @Override
    public String convertToString(Map arg0, Object arg1) {
        // TODO Auto-generated method stub
        if (arg1 instanceof Date) {
        
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

            Date date = (Date) arg1;
            return  df.format(date);
        }
        return null;
    }

}

image.png

全局类型转换器、

对整个应用起作用
配置文件
命名

image.png

内容


image.png

注意:全局类型转换器转换的是整个类型了,不是局部那样搞某个action的类型

上一篇下一篇

猜你喜欢

热点阅读