進行登錄的時候,如果輸入lisi,密碼是123456789,顯然用戶名不為空且密碼大于6位,當點擊登錄時,頁面仍然會跳轉到登錄頁面,但是沒有任何友情提示,比如:您輸入的用戶名不存在,你輸入的用戶名有誤,請重新輸入之類的。這個我覺得必須在執行完action方法之后才能知道數據庫里有沒有lisi這個用戶名,那么這種友情提示肯定是要在action方法之后進行的,那怎么進行呢?用什么方法呢?
顯然這節課的validate方法是在action執行之前進行驗證的,那么在action執行之后要進行驗證用什么方法?
2017-11-24
樓主問題解決了沒?
2016-05-28
我思考了一下,可以這樣做:在執行login方法的時候,當調用service包中的方法判斷出lisi這個用戶名不存在時,可以在return "login_failure"之前,加上這句代碼:this.addFieldError("usernameNotFound", "您輸入的用戶名或者密碼不存在,請重新輸入:");就行了。
但是還有一個問題就是:
我記得在struts2的流程圖里面,action執行前后都有攔截方法,那么如何調用這些攔截方法呢?