JSF验证未找到自定义ResourceBundle类

时间:2009-03-20 12:07:25

标签: eclipse jsf resourcebundle

我有一个自定义的ResourceBundle类org.example.web.UILabels.java,其中在运行代码时运行良好但是Eclipse中的JSF编辑器找不到它,我认为编辑器/验证器只是按名称查找属性文件。这也意味着我不再需要提前找到资源,这非常好。

任何想法如何纠正?

<f:loadBundle basename="org.example.web.UILabels" var="uiLabels"/>
...
<h:outputText value="#{uiLabels.someTextValue}" />
...

我收到错误消息(在问题错误列表中)

在类路径

上找不到资源包org.example.web.UILabels

Type = JSF问题

带有WebStandardTools版本的Eclipse3.4.0

  • 版本:1.4.0.v200802280619-13-7w311917141518
  • 版本:1.5.1.v200802280619-1407w311917141519
  • 版本:3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s

有关我使用ResourceBundle类而不仅仅是属性文件的原因的更多信息,请参阅Question 653682 how-to-override-some-resources-from-a-propertyresourcebundle

感谢你的时间,David Waters

2 个答案:

答案 0 :(得分:3)

resource-bundle元素比f:loadBundle操作更有效,因为可以为整个应用程序创建一次bundle。然而,它是一个JSF 1.2功能,如果你想与JSF 1.1兼容,你必须使用JSF 1.1。下面是一个例子,如果你使用JSF 1.2: 在faces-config.xml中定义它,如下所示:

<application>
<resource-bundle>
<base-name>org.example.web.UILabels</basename>
<var>uiLabels</var>
</resource-bundle>
</application>

很抱歉没有回答你的问题,但我没有Eclipse的第一手经验。我也首先误解了你的问题,因此我编辑了原来的答案。

答案 1 :(得分:2)

我有同样的问题,我终于找到了这个解决方案: Eclipse仅搜索默认属性,您的项目必须具有不具有区域设置的属性,例如,使用:

<f:loadBundle basename="i18n.messages" var="msg" />

Eclipse只会搜索“i18n/messages.properties”。