gpt4 book ai didi

jsf - 将参数从资源包传递到除 **h :outputFormat** 之外的组件的消息

转载 作者:行者123 更新时间:2023-12-02 08:25:29 26 4
gpt4 key购买 nike

是否有一种方便的方法将参数从资源包传递到除h:outputFormat之外的组件?

例如,这是合法的:

<h:outputFormat value="#{myBundle['parametricMessage']}">
<f:param value="#{myBundle['someParameterValue']}"/>
</h:outputFormat>

但我需要它作为一个按钮,就像这样(这不起作用):

<h:commandButton value="#{myBundle['parametricMessage']}">
<f:param value="#{myBundle['someParameterValue']}"/>
</h:commandButton>

当然,我可以使用链接而不是按钮,并且可以通过托管 bean 中的属性来实现它,但在这个问题中,我正在寻找一种方便的方法使用按钮...

我正在使用 RichFaces 3.3.3、JSF2、facelets。

最佳答案

这种方法怎么样?

EL expression allow you to define a function您首先定义一个 EL 表达式的函数,该函数接受资源包、其消息键和占位符的参数,并输出已解析的消息。

public static String geti18nMsg(ResourceBundle bundle ,String msgKey, String paramValue ) {
String msgValue = bundle.getString(msgKey);
MessageFormat messageFormat = new MessageFormat(msgValue);
Object[] args = {paramValue};
return messageFormat.format(args);
}

然后调用此函数来获取 <h:commandButton> 中已解析的消息:

<h:commandButton value="#{f:geti18nMsg(myBundle , parametricMessage, someParameterValue)}"/>

关于jsf - 将参数从资源包传递到除 **h :outputFormat** 之外的组件的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com