Struts2驗證錯誤信息的兩個經(jīng)典方法-addFieldError&addActionError
Posted on 2010-06-03 11:45 Gavin.lee 閱讀(4677) 評論(3) 編輯 收藏 所屬分類: SSH2 --Struts2這兩個方法都是ActionSupport類實現(xiàn)的方法,應(yīng)用中我們都會繼承ActionSupport類,在ActionSupport類中實現(xiàn)了一個hasErrors()方法,該方法會判斷是否存在這兩種級別(Action級和Field級)的error,所以當(dāng)我們需要報錯時,我們可以方便的應(yīng)用:如
try {
XXX
} catch (Exception e) {
Super.addFieldError(“username”, “輸入有誤”);
或者:
Super.addActionError(“輸入有誤”);
}
感興趣可以研究一下源碼,使用時我們只需要在頁面顯示這些錯誤就OK。
如:
<s:fielderror>
<s:param>username</s:param>
</s:fielderror>
或者
<s:actionerror/>
但是在實際應(yīng)用中,fielderror我們比較傾向于有針對性的錯誤信息輸出,因為fielderror它本身就是個Map,可以詳細(xì)指定錯誤的字段-原因。而且在表單提交時更合適,只要對應(yīng)了error字段和提交屬性的字段。Struts2會為我們自動表格排版(沒試驗)
修改主題:<s:form theme="simple"> 不能顯示錯誤信息,不能自動添加表格排版,根據(jù)需要自己發(fā)揮
注:我們只需要進(jìn)行設(shè)置error的默認(rèn)input,Struts2會為我們自動進(jìn)行視圖轉(zhuǎn)發(fā),<result name=”input”>/input.jsp</result>