如何将富参数传递给i18n的jsf?

如何将富参数传递给i18n的jsf?,jsf,internationalization,Jsf,Internationalization,我使用jsf呈现html页面,并使用漂亮的资源包加载将i18n添加到各个页面中。我遇到的问题是,使用outputFormat无法传递任何“丰富”参数。例如这句话: 这是我最喜欢的,你应该看看 这样做会很好: <h:outputFormat value="#{bundle.favItemLineWithParam}> <f:param> <h:outputFormat value="#{bundle.searchEngine}>

我使用jsf呈现html页面,并使用漂亮的资源包加载将i18n添加到各个页面中。我遇到的问题是,使用outputFormat无法传递任何“丰富”参数。例如这句话:

这是我最喜欢的,你应该看看

这样做会很好:

 <h:outputFormat value="#{bundle.favItemLineWithParam}>
      <f:param>
           <h:outputFormat value="#{bundle.searchEngine}>
                <f:param>
                     <h:link value="http://google.com">
                </f:param>
           </h:outputFormat>
      </f:param>
 </h:outputFormat>


但这是不允许的,似乎唯一的选择是使用支持bean或其他东西在java中呈现链接。有什么想法吗?

那是不可能的。您需要在bundle值中使用普通HTML并设置
escape=“false”

favItem=这是我最喜欢的,你应该去看看。



如果您在那篇文章中错过了它,您可以阅读有关如何使用自定义控件来执行此操作的内容。@McDowell:太棒了,谢谢,我会试一试的。嗯。。。这就是我害怕的。不幸的是,我的URL是通过h:link生成的,用于处理prettyfaces。
<h:outputFormat value="#{bundle.favItem}" escape="false">
    <f:param value="search engine" />
    <f:param value="http://google.com" />
</h:outputFormat>
<h:outputFormat value="#{bundle.favItem}" escape="false">
    <o:param><a href="http://google.com">#{bundle.searchEngine}</a></o:param>
</h:outputFormat>