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