Struts2輸入校驗(一)

 

輸入校驗就是檢查用戶輸入的信息是否合法。

輸入校驗是建立在類型轉換基礎之上的。

Struts2內置校驗

Struts2表單中有一種內置的驗證,但是這種錯誤提示不能提供給用戶看,所以沒有太大用處。

Input返回值,只需在struts.xml中配置一下,錯誤信息要顯示到哪個頁面,即可。Execute方法不用管,當用戶輸入的類型不符合Bean中定義的,Struts2會自動查找input指定的頁面,如果沒有,則會報錯404

404 - No result defined for action tbk.struts.action.RegisterAction and result input

校驗步驟

Action類中,繼承ActionSupport類,重寫execute()方法和validate()方法。

 

public void validate() {

//這裏寫null==username 是因爲如果不判斷的話,等username爲空的時候,username.length會報空指針異常

if(null == username || username.length() < 6 || username.length() > 10){

this.addFieldError("username", "username invalid");

}


this.addFieldError()是將錯誤信息放到errorfield中。到頁面上顯示錯誤信息,需要Struts的標籤庫,   <s:fielderror></s:fielderror>即可.

 

    輸入校驗是建立在類型轉換基礎之上的。

遇到類型轉換錯誤的時候(也就是說不能進行類型轉換),struts2框架自動生成一條錯誤信息,並且將該錯誤信息放到addFieldError裏面

類型轉換與輸入校驗的流程

1. 首先Struts2對客戶端傳來的數據進行類型轉換

2. 類型轉換完畢後再進行輸入校驗

3. 如果類型轉換和輸入校驗都沒有錯誤發生,那麼進入execute方法(調用商業邏輯)

注意:如果類型轉換不成功,也同樣要進行輸入校驗

發佈了35 篇原創文章 · 獲贊 102 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章