原理
struts2的自定義類型轉換機制為復雜類型的輸入輸出處理提供瞭便捷.struts2已經為我們提供瞭幾乎所有的primitive類型以及常用類型(如Date)的類型轉換器,我們也可以為我們自定義類添加自定義類型轉化器.
struts2為我們提供瞭一個類型轉化器的入口: ognl.DefaultTypeConverter,或繼承org.apache.struts2.util.StrutsTypeConverter,由於StrutsTypeConverter提供瞭更好的封裝,所以建議大傢在寫轉換器時通常采用繼承StrutsTypeConverter方式來實現.
StrutsTypeConverter類實質上是DefaultTypeConverter的擴展
publicabstractclass StrutsTypeConverter extends DefaultTypeConverter { } |
StrutsTypeConverter中的兩個核心方法
publicabstract Object convertFromString(Map context, String[] values, Class toClass); publicabstract String convertToString(Map context, Object o); |
convertFromString方法用於從前臺頁面獲取字符串,將字符串轉化為對象
convertToString方法用於將對象以字符串的方式輸出到頁面
我們在寫struts2自定義類型轉換類的時候主要就是覆蓋上面兩個方法
分類
struts2自定義類型轉換從大的方面來講分兩種:
u 局部類型轉換
u 全局類型轉換
局部類型轉換又分為三種:
² 普通實體bean的自定義類型轉換
² 基於領域模型的自定義