0

我们最近从 JSF 1.x 升级到 JSF 2.x

自 2 年以来,我们有一个启动并运行的应用程序。我们面临的问题是:

我们在JSF中有以下代码

 <h:inputText id="DescriptionText" required="true" value="#{scenarioDesc}"> 

<f:converter converterId="RequiredConvertor"/> 
<f:attribute name="label" value="#{giamsBundle['lbl.request.summary.desc.validation']}"/>
</h:inputText>

我们使用所需的转换器来获取标签值,如下所示

String componentLabel = (String) component.getAttributes().get("label");

但是 componentLabel 返回 null。当我们定义资源包名称时它无法获取值,但是当我们将任何字符串添加到 f:attribute 标记的值时工作正常

请帮忙。

4

1 回答 1

0

这在 Mojarra 2.1.27 中对我来说很好用。但是,由于您正在设置现有组件属性的属性,因此其他实现可能不会以相同的顺序处理命名。

要修复,我会使用现有的标签属性:

<h:inputText id="DescriptionText" required="true" value="#{scenarioDesc}"
  label="${giamsBundle['lbl.request.summary.desc.validation']}"
  converter="RequiredConvertor" />

或者,使用与“标签”不同的属性名称。

于 2014-04-24T18:33:44.017 回答