Struts類型轉換

自定義類型轉換器
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”的配置文件(實際上是一個語言消息包)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。