首頁 > Java > java教程 > Struts2的INPUT結果如何處理轉換和驗證錯誤?

Struts2的INPUT結果如何處理轉換和驗證錯誤?

DDD
發布: 2024-12-05 00:58:19
原創
984 人瀏覽過

How Does Struts2's INPUT Result Handle Conversion and Validation Errors?

Struts2 INPUT 結果:錯誤處理機制

Struts2 的INPUT 結果提供了一種無縫方法來處理轉換和驗證錯誤,而不會觸發異常。它的運作方式如下:

轉換錯誤處理

當輸入 String 而不是 int 時,參數攔截器會嘗試轉換。如果 Integer.parseInt() 遇到 NumberFormatException,則該例外狀況會在開發模式下被抑制,且錯誤訊息會加入 Action Errors 中。在生產模式下,異常會被靜默忽略。

轉換錯誤攔截器隨後檢查轉換錯誤。如果發現任何錯誤,則會新增欄位錯誤,並儲存輸入值,以便在後續請求期間顯示給使用者。

驗證錯誤處理

驗證攔截器是基於 XML 或註解執行必要的驗證。驗證錯誤將欄位錯誤新增至操作。這可確保向使用者顯示錯誤,並使用原始值重新填入表單。

工作流程與輸入結果

工作流程攔截器檢查欄位錯誤。遇到任何錯誤時,它會傳回 INPUT 結果。此結果重新顯示表單,保留原始輸入值和錯誤訊息。

處理字母和零

框架可以優雅地處理這種情況。當輸入字母字元時,轉換攔截器會保存其原始值。隨後的 Getter 將傳回原始值(例如“abc”),而不是其等價數字(例如“0”)。

排查轉換錯誤

如果未按預期工作,請確保攔截器的順序正確並驗證 value 屬性。如果可能的話,避免將其用於轉換目的。使用它來保存狀態,例如儲存佔位符值。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板