當工作流程攔截器偵測到欄位錯誤時,會觸發 Struts2 的 INPUT 結果,無論是來自轉換或驗證錯誤。這些錯誤不會引發異常,而是被視為輸入錯誤,因此會傳回 INPUT 結果以請求使用者輸入更正。
Struts2 的錯誤處理機制涉及幾個關鍵步驟:
要啟用此機制,請確保以正確的順序定義以下攔截器:
<interceptor-ref name="params"/> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"/> <interceptor-ref name="workflow"/>
要處理非數字字元到零的轉換,請避免使用value 屬性與傳回int 資料型別的getter 結合使用。這可能會導致額外的轉換錯誤並導致值為 0。請改用以下語法:
<s:textfield name="myIntField"/>
或
<s:textfield name="myIntField" value="%{myIntField}"/>
以上是Struts2如何處理輸入錯誤並回傳INPUT結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!