从资源围栏加载时,我需要拥有包含EL表达式的资源消息。基本上,我有许多包含文本的属性文件。其中一些文本看起来如下:

welcometext =欢迎#{userBean.name}

我目前可以看到此工作的唯一可能的方法是实现自定义Taglib,因此不要说:

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

我必须使用

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

给定具有用户名“ user1”的用户,这应该输出

Welcome User1

然后,我的实现将使用一个自定义的资源围栏类,该类将覆盖handergetObject,使用elresolver解决变量等。...想法?建议?已经可用的实现?

感谢您的帮助。

有帮助吗?

解决方案

宁愿利用 <h:outputFormat><f:param> 显示参数化文本。它是由 MessageFormat API, ,将应用与API Javadoc中描述的相同规则。

例如

welcomeText=Welcome {0}

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

那里是:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top