struts2 根据验证异常信息的不同,显示不同样式

struts2 根据验证错误信息的不同,显示不同样式

可以通过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" %>