我在我的应用程序中使用struts2并尝试使用“s:actionerror /”显示错误消息。它可以很好地显示,但点(。)也会显示错误消息,看起来很丑陋,并且显示为列表。Struts2自定义错误消息
是否有任何方法cuatomize在struts2中的错误消息。
在此先感谢。
我在我的应用程序中使用struts2并尝试使用“s:actionerror /”显示错误消息。它可以很好地显示,但点(。)也会显示错误消息,看起来很丑陋,并且显示为列表。Struts2自定义错误消息
是否有任何方法cuatomize在struts2中的错误消息。
在此先感谢。
Brian Yarger的回答是最完整的解决方案。另一方面,最简单的解决方案就是使用CSS并修改li元素。
JSP:
<s:if test="hasActionErrors()">
<div class="errors">
<s:actionErrors/>
</div>
</s:if>
CSS:
li .errors { list-style: none; }
您好,我找到了摆脱点的解决方案。
<table align="center" width="70%" class="stats">
<tr>
<s:if test="hasActionErrors()">
<s:iterator value="actionErrors">
<tr>
<td class="error">
<img alt="error message" src="./images/cross.gif" width="10" height="10"/> <s:property escape="false" />
</td>
</tr>
</s:iterator>
</s:if>
尝试了这一点。
另一种解决方案是覆盖默认actionError输出的模板。
您可以在struts2核心jar中找到默认模板。如果你拉出template.simple/actionerror.ftl,你可以自定义。您可以创建自己的模板,并使用template属性在s:actionerror标记中引用它,也可以保留相同的名称并将其放在/ template/simple中,并将其用作默认值。
大多数的模板都在freemarker中,虽然仍有一些速度他们根据您的struts2的版本。两者都很容易与模板引擎一起工作。
我猜kozmic的解决方案应该是:
JSP:
<s:if test="hasActionErrors()">
<div class="errors">
<s:actionErrors/>
</div>
</s:if>
CSS:
div .errors li { list-style: none; }
它并没有为我与他的CSS代码工作。
我知道这是一个老问题,但我想分享我的简单解决方案。这只是打印出每个错误消息,没有任何额外的生成的HTML标记。然后,如果需要,可以将<s:property value="%{error}"/>
包装在一些自定义html中。
<s:if test="hasActionErrors()">
<s:iterator var="error" value="%{actionErrors}">
<s:property value="%{error}"/>
</s:iterator>
</s:if>