首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts2 輸入驗證(一):validate 方法與 validateXxx 方法詳解

     編輯:Java 相關知識

編程式驗證:重寫 validate()

繼承 ActionSupport 並重寫 validate(),在其中調用 addFieldError(field, msg) 記錄錯誤。驗證發生在類型轉換之後,直接操作已轉換好的屬性值。

示例

@Override
public void validate() {
    if (age < 0 || age > 200) {
        addFieldError("age", "年齡應在 0-200 之間");
    }
}

多方法 Action 的針對性驗證:validateXxx()

Action 包含多個業務方法(如 addUser()、getUserList()),可定義對應驗證方法:

  • validateAddUser() → 執行 addUser() 前調用
  • validateGetUserList() → 執行 getUserList() 前調用

命名規則:validate + 業務方法名首字母大寫。

執行順序與避坑指南

  1. 無論調用哪個業務方法,validate() 總會執行
  2. 若不想執行通用 validate(),有兩種方案:
    • 不提供 execute() 方法,自然也就不寫 validate()
    • 將通用驗證改名為 validateExecute(),僅在調用 execute() 時觸發

頁面錯誤顯示

  • Struts2 標籤自動渲染錯誤
  • HTML 表單需手動添加 <s:fielderror/>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved