将HTML传递到消息包



我正在"国际化"我的应用程序的过程中,这是基于SEAM 2/JSF 1.2

有一件事让我很恼火,那就是在消息包中有HTML标记,如果可能的话,我想避免这种情况,比如我有以下HTML

<p>Click <span class="link" id="trigCl">here</span> to register your account.</p>

我想把它分解成以下几个部分:

<h:outputFormat escape="false" value="#{messages['registerAccountText']}">
    <f:param value="<span class='link' id='trigCl'>#{messages['here']}</span>" />
</h:outputFormat>

包含以下bundle条目:

registerAccountText=Click {0} to register your account.

但正如你所猜到的,我得到了以下内容…

The value of attribute "value" associated with an element type "f:param" must not contain the '<' character.

是否有a)一种方法来解决这个问题,或者b)一种更好的方法来处理这个问题(不涉及完全重写标记)?

刚刚从无处不在的BalusC中遇到了类似问题的答案,它演示了一种转义f:param

中的HTML的方法。
<h:outputFormat escape="false" value="#{messages['registerAccountText']}">
    <f:param value="&lt;span class='link' id='trigCl'&gt;#{messages['here']}&lt;/span&gt;" />
</h:outputFormat>

不完全是最干净的解决方案但在我升级到JSF 2.0之前,它将不得不做

相关内容

  • 没有找到相关文章

最新更新