代码之家  ›  专栏  ›  技术社区  ›  David Waters

jsf验证未找到自定义resourcebundle类

  •  5
  • David Waters  · 技术社区  · 16 年前

    我有一个自定义的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问题

    Eclipse3.4.0和WebStandardTools版本

    • 版本:1.4.0.V200802280619-13-7W31117141518
    • 版本:1.5.1.V200802280619-1407W31119141519
    • 版本:3.0.0.V200806092130-7A-8Y8QN2LF4VSWRI2EK5PF4K7S

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

    谢谢你的时间,大卫·沃特斯

    2 回复  |  直到 11 年前
        1
  •  3
  •   Chris Dale    16 年前

    资源束元素比F:Load束动作更有效,因为捆绑可以为整个应用程序创建一次。但是它是jsf 1.2特性,如果你想与jsf1.1兼容,你必须使用jsf1.1。下面是一个使用jsf 1.2的例子: 在faces-config.xml中定义如下:

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

    很抱歉没有回答您的问题,但是我没有eclipse的第一手经验。我也先误解了你的问题,所以我修改了原来的答案。

        2
  •  2
  •   Pranav Singh    11 年前

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

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

    eclipse将只搜索“ i18n/messages.properties “。