将HTML传递到消息包中

时间:2013-04-12 17:18:42

标签: jsf internationalization seam jsf-1.2

我正在“国际化”我的应用程序,这是基于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>

使用以下捆绑条目:

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)更好的解决方法(不涉及完全重写标记)?

1 个答案:

答案 0 :(得分:2)

刚刚遇到this来自全方位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之前,它必须做到