十八 資料驗證方法重寫

2021-08-20 11:57:23 字數 1417 閱讀 2125

雖然這個時候已經成功的進行了錯誤跳轉,但是跳轉之後可能依然沒有人知道出現了那些錯誤,那就必須想辦法在頁面中顯示這些錯誤

首先必須明確的再次提示,在actionsupport來裡面提供的取得全部錯誤資訊的方法

取得錯誤資訊:

public map

> getfielderrors()

所有的錯誤資訊都是以map集合形式儲存的,而map中的key是表單的引數名稱,但是最麻煩的是後面的value儲存的是list集合,但是如果是list集合,這裡面就應該像辦法輸出內容.

當驗證失敗之後,所有儲存的錯誤資訊都會自動的存放在request屬性範圍之內,而千萬要記住,如果出現了錯誤,會跑到"input"設定的路徑上進行錯誤的顯示.

範例:修改驗證方法

@override

public void validate() ));

} if(this.news.gettitle()==null||"".equals(this.news.gettitle()))));

} if(this.news.getcontent()==null||"".equals(this.news.getcontent()))));

} }

而後在前台頁面上顯示出相應的資訊

範例:顯示前台資訊

整個的輸入頁面並沒有使用struts2.x所提供的開發標籤,都是利用了request屬性範圍得來的.

在整個jsp內建物件裡賣弄,有四種屬性範圍,但是千萬要記住,每乙個屬性範圍的內建物件裡面都會提供有乙個方法,取得所有的屬性的名稱:public enumeration getattributenames();

結論:所有的驗證的操作方法都是在複製完成之後進行的.

這種驗證操作實際上根本就無效,也根本沒有什麼單獨使用的意義,唯一可以使用的意義只有乙個:可以利用input跳轉,而後可以將錯誤資訊傳遞給request屬性,進行頁面的內容輸出.

但是此驗證是在賦值後進行,所以一旦資料出現了格式的錯誤,根本無法進行有效驗證,後台依然會出現報錯的情況

總結

1.在執行具體的業務操作方法之前,一定會預設呼叫validate()方法進行檢查

2.所有的錯誤資訊都儲存在了filederrors這個map集合之中,每乙個錯誤資訊可以使用addfielderror()方法進行新增.

3.預設情況下所有的驗證都是在資料複製成功之後使用的,所以如果直接使用,都無用.

方法過載,方法重寫

方法過載 前提 必須在同一類中!才能過載 特點 這幾個方法要在乙個類中 這幾個方法名字要一樣 這幾個方法引數項不同 引數型別不同 主要就是 引數列表不能相同 順序可以不同 方法的重寫 前提是繼承關係 訪問修飾符要比繼承之前的大,返回值型別相同,方法名相同,引數列表相同,但方法體不同,稱為方法的重寫 ...

方法過載 方法重寫

同乙個類中,方法名一致,但引數 數量 型別 順序 不一樣。數量 public a 與public a int a 型別 public a int a 與public a string a 順序 public a string a,int a 與public a int a,string a 子類繼承...

方法過載 方法重寫

1 方法過載 protected void fun int a protected void fun int a,int b protected void fun long a private void fun int a,long b private void fun long b,int a p...