struts2 自定義轉換器
自定義轉換器: 創建一個類,繼承StrutsTypeConverter 然后實現兩個抽象方法。
比如下面的時間轉換:
convertFromString 轉成對象;
convertToString,轉成string;
只有在使用<s:property/>的時候才能調用convertToString
package com.jelly.convert; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class DateConvert extends StrutsTypeConverter{ private final SimpleDateFormat[] simpleDateFormat ={ new SimpleDateFormat("yyyy-MM-dd"), new SimpleDateFormat("yyyy/MM/dd"), new SimpleDateFormat("yyyy年MM月dd日") }; @Override public Object convertFromString(Map context, String[] values, Class toClass) { java.util.Date date = null; for(int i=0;i<simpleDateFormat.length;i++){ try { date = simpleDateFormat[i].parse(values[0]); } catch (ParseException e) { continue; } } return date; } @Override public String convertToString(Map context, Object o) { if(o instanceof Date){ return new SimpleDateFormat("yyyy-MM-dd").format(o); } return o != null ? o.toString(): null; } }如果這個轉換器針對整個項目。就在src目錄下創建一個xwork-conversion.properties,在里面寫入:java.util.Date=com.jelly.convert.DateConvert 然后就可以了
如果是針對于某個類,就放在類目了下 類名-conversion.properties
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!