我想从i18n软件包(接缝中的messages.properties)中检索消息信息,但我不确定如何在我的xhtml中动态传递declare /传递jobCount变量
现有代码如下所示。
<s:decorate template="/layout/panel-name.xhtml">
<ui:define name="label">User has been assigned #{jobCount} jobs</ui:define>
</s:decorate>
答案 0 :(得分:11)
我认为这应该有效:
<h:outputFormat value="#{msg.yourMessage}">
<f:param value="#{myBean.jobCount}" />
</h:outputFormat>
答案 1 :(得分:2)
我找到了这段代码:
#{interpolator.interpolate(messages['myMessage'],jobCount)}
我认为这就是你要找的东西。 Messages and placeHolders
否则,如果是静态消息,则可以使用字符串连接(丑陋):
<s:decorate template="/layout/panel-name.xhtml">
<ui:define name="label">#{messages['myMessage']} #{jobCount}</ui:define>
</s:decorate>
或者,如果它是动态消息,并且您正在使用h:message
在邮件属性中使用此语法:
myMessage =已为用户分配了{1}个作业
然后在bean中创建消息时
@Name("myBean")
public class Bean {
@In(create = true) FacesMessages facesMessages;
@In Map messages;
public String action() {
// Action here
facesMessages.add(messages.get("myMessage"), jobCount);
}
}