JSF2 ResourceBundleLeoDADER替代?
-
02-10-2019 - |
题
从资源围栏加载时,我需要拥有包含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>
那里是:)
不隶属于 StackOverflow