资源包值的JSF 2.0 getAttributes为null

时间:2014-04-22 04:21:36

标签: jsf-2 uicomponents

我们最近从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标记的值

时,它可以正常工作

请帮忙。

1 个答案:

答案 0 :(得分:0)

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

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

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

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