雖然這個時候已經成功的進行了錯誤跳轉,但是跳轉之後可能依然沒有人知道出現了那些錯誤,那就必須想辦法在頁面中顯示這些錯誤
首先必須明確的再次提示,在actionsupport來裡面提供的取得全部錯誤資訊的方法
取得錯誤資訊:
public map所有的錯誤資訊都是以map集合形式儲存的,而map中的key是表單的引數名稱,但是最麻煩的是後面的value儲存的是list集合,但是如果是list集合,這裡面就應該像辦法輸出內容.> getfielderrors()
當驗證失敗之後,所有儲存的錯誤資訊都會自動的存放在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...