天天看點

Struts2:自定義類型轉換器

public class DateTypeConverter extends DefaultTypeConverter {              
         //必須繼承DefaultTypeConverter類
         //然後重寫convertValue方法
    @Override
    public Object convertValue(Map<String, Object> context, Object value, Class toType) {
        // TODO Auto-generated method stub
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        try {
            if(toType == Date.class)
            {
                //當字元串向Date類型轉換時
                String[] params = (String[]) value;
                return dateFormat.parse(params[]);
            }else if (toType == String.class) {
                //當Date轉換成字元串時
                Date date = (Date) value;
                return dateFormat.format(date);

            }
        } catch (ParseException e) {
            // TODO: handle exception
        }
        return null;
    }

}
           

編寫完類型轉化器之後,需要注冊。

1.注冊為局部類型轉化器:

在Action類所在的包下放置ActionClassName-conversion.properties檔案(建立一個普通檔案),ActionClassName是類名,後面的-conversion.properties是固定寫法。

在properties檔案中的内容為:

屬性名稱=類型轉化器的全類名

createtime = cn.itcast.conversion.DateConverter

2.将上面的類型轉換器注冊為全局類型轉換器:

在(WEB-INF/classes) src 下放置xwork-conversion.properties檔案。

在properties檔案中的内容為:

帶轉換的類型=類型轉化器的全類名

java.util.Date= cn.itcast.conversion.DateConverter

繼續閱讀