通過validate***()方法實現, validate***()只會校驗action中方法名為***的方法。其中***的第乙個字母要大寫。當某個資料校驗失敗時,我們應該呼叫addfielderror()方法往系統的fielderrors新增校驗失敗資訊(為了使用addfielderror()方法,action可以繼承actionsupport ),如果系統的fielderrors包含失敗資訊,struts2會將請求**到名為input的result。在input檢視中可以通過顯示失敗資訊。
validate***()方法使用例子:
public string add() throws exceptionpublic
void validateadd()
驗證失敗後,請求**至input檢視:
/web-inf/page/adduser.jsp
在adduser.jsp頁面中使用顯示失敗資訊。
輸入校驗的流程
1。型別轉換器對請求引數執行型別轉換,並把轉換後的值賦給action中的屬性。
2。如果在執行型別轉換的過程中出現異常,系統會將異常資訊儲存到actioncontext,conversionerror***將異常資訊新增到
fielderrors裡。
不管型別轉換是否出現異常,都會進入第3步。
3。系統通過反射技術先呼叫action中的validate***()方法,***為方法名。
4。再呼叫action中的validate()方法。
5。經過上面4步,如果系統中的fielderrors存在錯誤資訊(即存放錯誤資訊的集合的size大於0),系統自動將請求**至名稱為input的檢視。如果系統中的fielderrors沒有任何錯誤資訊,系統將執行action中的處理方法。
struts2中不同action之間進行傳值的方法
關於在struts2中不同的action之間進行傳值方法,我在此總結一下。1.跳轉型別type chain 獲取request httprequest request servletactioncontext.getrequest 在action1中寫request.setattribute use...
struts2中不同action之間進行傳值的方法
關於在struts2中不同的action之間進行傳值方法,我在此總結一下。1.跳轉型別type chain 獲取request httprequest request servletactioncontext.getrequest 在action1中寫request.setattribute use...
Struts2進行url重寫
一般來說我們在用struts2進行開發的時候我們的訪問url都是帶上一些類似於.action或者.do還有用?傳遞引數,這種訪問方式與靜態頁面的訪問相比,我就可以用 一些開源的元件來進行url的重寫,以實現偽靜態,雖然這樣對於訪問速度並沒有提高,但是有乙個很明確的好處就是經過url重寫的url是更有...