0

从 ResourceBundle 加载时,我需要解析包含 EL 表达式的资源消息。基本上我有许多包含文本的属性文件。一些文本将如下所示:

welcomeText=欢迎 #{userbean.name}

我目前看到这个工作的唯一可能方法是实现一个自定义标记库,而不是说:

<f:loadBundle var="messages" basename="application.messages"/>

我将不得不使用

<mytaglib:loadBundle var="messages" basename="application.messages"/>
#{messages.welcomeText}

给定一个用户名为“User1”的用户,这应该输出

Welcome User1

然后我的实现将使用一个自定义 ResourceBundle 类,该类将覆盖 handleGetObject,使用 ELResolver 来解析变量等......想法?建议?已经可用的实现?

感谢您的帮助。

4

1 回答 1

1

而是使用<h:outputFormat><f:param>显示参数化文本。它由MessageFormatAPI支持,将应用与 API 的 javadoc 中描述的相同的规则。

例如

welcomeText=Welcome {0}

<h:outputFormat value="#{messages.welcomeText}">
    <f:param value="#{userbean.name}" />
</h:outputFormat>

它是为了:)

于 2010-04-29T21:33:53.017 回答