可以通過struts2 的if else 標籤及EL表達式,實現根據錯誤信息的不同,自定義錯誤信息的樣式,當然也可以直接自定義錯誤信息的樣式。
<td><s:textfield name="email"></s:textfield></td>
<td>
<div id="emailTip" style="width:280px">
<s:if test="#request.fieldErrors.email==NULL">...........</s:if>
<s:else>xxxx${fieldErrors.email[0]}xxxxx</s:else>
</div>
</td>
以上代碼的意思是,當驗證沒有錯誤信息時的樣式是.........(自己寫html),當有錯誤信息時樣式是xxxxx。
解釋一下:
我們除了用<s:fielderror></s:fielderror>標籤可以獲得錯誤信息外還可以用EL表達式獲取,表達式爲${fieldErrors.email[0]}。
但是在struts2的標籤中不能這樣用,必須寫成 #request.fieldErrors.email[0] 才能得到錯誤信息,而要判斷是否有錯誤信息則用 #request.fieldErrors.email==NULL
最後,如果在jsp頁面上EL表達式失效,則需要在jsp上添加 <%@ page isELIgnored="false" %>