Struts 2 包含 HTML 代码的验证消息

Struts 2 Validation message with HTML code inside

我正在尝试创建一个 Struts2 验证消息,其中包含一些 HTML 代码。

例如:

<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>&lt;b&gt;${Price}&lt;/b&gt; 不起作用。有什么办法吗?

我没有包括我的全部代码,因为它无关紧要。

出于安全原因,错误消息被转义(不显示 html)。如果您使用的是 xhtml 主题(默认),则转义发生在 FreeMarker 模板中。

您可以创建自己的模板并按原样显示错误,或者您可以使用不同的主题(例如 simple)并使用 <s:fielderror> 标签显示错误,并将 escape 属性设置为false.

但请注意,不转义 html 您不完全控制的内容会导致安全问题。