我正在尝试使用一些HTML代码创建一个Struts2验证消息。
例如:
<field-validator type="regex">
<param name="expression">
<![CDATA[^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(\.[0-9]{1,2})?$]]>
</param>
<message>
<b>${Price}</b> field for <b>${fundDescription}</b> and
<b>${currencyDescription}</b> must be a number and in the correct format
</message>
</field-validator>
我知道<b>${Price}</b>
和<b>${Price}</b>
不起作用。有没有办法做到这一点?
我没有包含我的整个代码,因为它无关紧要。
答案 0 :(得分:2)
出于安全原因,错误消息被转义(不显示html)。如果您使用的是xhtml
主题(默认设置),则会在FreeMarker模板中进行转义。
您可以创建自己的模板并按原样显示错误,也可以使用不同的主题(例如simple
)并使用<s:fielderror>
标记显示错误,并将escape
属性设置为{{ 1}}。
但请注意,不能完全控制的html内容可能导致安全问题。