Struts2 類型轉換基於 OGNL 表達式,Web 表單提交的字符串自動轉換為 Action 屬性類型(基本類型、日期、自定義對象)。轉換異常由 conversionError 攔截器捕獲並轉為字段錯誤。
涵蓋:String、boolean、char、int/long/float/double、Date、陣列(元素為 String)、集合(元素為 String,封裝為 ArrayList)。
Point{x,y})DefaultTypeConverter 重寫 convertValue(context, value, toType),雙向轉換:ActionName-conversion.properties 指定屬性級轉換器xwork-conversion.properties 指定類級轉換器@TypeConversion(文中暫無示例)表單輸入名為 point3.x、point3.y,Action 擁有 Point point3 屬性及 getter/setter,Struts2 自動實例化 Point 並調用 setter 填充,無需編寫轉換器。
conversionError 攔截器捕獲ActionContextActionName.properties 獲取字段提示(格式:invalid.fieldvalue.屬性名=提示文本)input 邏輯視圖,頁面用 <s:fielderror/> 顯示<s:form>)自動顯示錯誤<s:fielderror/>