首頁 >Java >java教程 >Struts2如何處理表單處理中的轉換與驗證錯誤?

Struts2如何處理表單處理中的轉換與驗證錯誤?

Barbara Streisand
Barbara Streisand原創
2024-12-18 22:34:11597瀏覽

How Does Struts2 Handle Conversion and Validation Errors in Form Processing?

Struts2 中的輸入結果處理

輸入結果中的轉換和驗證錯誤

Struts2 自動管理表單處理過程中遇到的轉換和驗證錯誤。當發生錯誤時,它會傳回 INPUT 結果而不是引發異常。這允許用戶在不中斷應用程式流程的情況下糾正輸入錯誤。

轉換錯誤

參數攔截器處理表單參數到適當資料類型的轉換(例如,字串)為整數)。如果轉換失敗,它會在 ActionContext 的 conversionErrors 映射中新增一個欄位錯誤。

驗證錯誤

驗證攔截器執行為操作定義的驗證規則。如果任何驗證標準失敗,它會將欄位錯誤新增至 ActionContext 的 fieldErrors 映射中。

錯誤處理工作流程

轉換和驗證後,工作流程攔截器檢查是否有任何欄位錯誤。如果發現錯誤,則傳回 INPUT 結果。此結果自動包含錯誤訊息和使用者提交的原始值,確保使用者可以查看錯誤並更正其輸入。

設定

要啟用自動錯誤處理,請確保以下攔截器以正確的順序包含在自訂堆疊中:

  • Params Interceptor
  • ConversionError攔截器
  • 驗證攔截器
  • 工作流程攔截器

為什麼數字顯示為零

如果使用者在表單欄位中輸入字母字符,定義為整數,框架在檢索該值時傳回零。發生這種情況是因為 Getter 方法傳回整數 (0) 的預設值,因為它無法將 String 設為 int 欄位。

異常處理

Struts2 不會引發轉換或異常驗證錯誤,因為它們被視為輸入錯誤。相反,它會傳回一個 INPUT 結果並將錯誤訊息新增至「欄位錯誤」對應以供使用者解決。

以上是Struts2如何處理表單處理中的轉換與驗證錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn