自定義類型轉(zhuǎn)換器
a啦辐、編寫一個(gè)類榔昔,繼承StrutsTypeConverter
//自定義類型轉(zhuǎn)換器:
//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:目標(biāo)類型
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.注冊類型轉(zhuǎn)換器
2.1局部類型轉(zhuǎn)換器:給某個(gè)動作用的
在動作類所在的包中,建立一個(gè)“動作類名-conversion.properties”的配置文件
2.2全局類型轉(zhuǎn)換器:
在構(gòu)建路徑的頂端(WEB-INF/classes)目錄下建立名稱為xwork-conversion.properties的配
置文件定硝,按照要轉(zhuǎn)換的目標(biāo)類型進(jìn)行轉(zhuǎn)換器的配置坑傅。
3.轉(zhuǎn)換失敗時(shí)的數(shù)據(jù)回顯和錯(cuò)誤提示
前提:動作類需要繼承ActionSupport
出現(xiàn)轉(zhuǎn)換失敗時(shí),由一個(gè)名字為conversionError攔截器負(fù)責(zé)處理的喷斋。會把錯(cuò)誤信息封裝起來,并且轉(zhuǎn)向一個(gè)叫做input的邏輯視圖(用于回顯數(shù)據(jù))蒜茴。
更改默認(rèn)的錯(cuò)誤提示:
在動作類的包中星爪,建立一個(gè)“動作類名.properties”的配置文件(實(shí)際上是一個(gè)語言消息包)