我在我的应用程序中使用struts2并尝试使用“s:actionerror /”来显示错误消息。它显示得很好,但也出现了一个点(。),错误信息看起来很难看,并显示为列表。
有没有办法在struts2中使用cuatomize错误消息。
提前致谢。
答案 0 :(得分:4)
Brian Yarger的答案是最完整的解决方案。另一方面,最简单的解决方案是使用CSS并修改li元素。
JSP:
<s:if test="hasActionErrors()">
<div class="errors">
<s:actionErrors/>
</div>
</s:if>
CSS:
li .errors { list-style: none; }
答案 1 :(得分:1)
另一种解决方案是覆盖默认actionError输出的模板。
您可以在struts2核心jar中找到默认模板。如果你拉出template.simple / actionerror.ftl,你可以自定义它。您可以提出自己的模板并使用模板属性在s:actionerror标记中引用它,或者您可以保留相同的名称并将其放在/ template / simple中,它将用作默认值。
大多数模板都在freemarker中,尽管仍有一些模板的速度取决于你的struts2版本。两者都很容易使用模板引擎。
答案 2 :(得分:1)
我想kozmic的解决方案应该是:
JSP:
<s:if test="hasActionErrors()">
<div class="errors">
<s:actionErrors/>
</div>
</s:if>
CSS:
div .errors li { list-style: none; }
使用他的CSS代码对我不起作用。
答案 3 :(得分:0)
您好我找到了摆脱点的解决方案。
<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>
试试这个。
答案 4 :(得分:0)
我知道这是一个老问题,但我想分享我的简单解决方案。这只是打印出每个错误消息而没有任何额外生成的html标记。然后,如果需要,可以将<s:property value="%{error}"/>
包装在一些自定义html中。
<s:if test="hasActionErrors()">
<s:iterator var="error" value="%{actionErrors}">
<s:property value="%{error}"/>
</s:iterator>
</s:if>