我有一个自定义的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.UILabelsType = JSF问题
带有WebStandardTools版本的Eclipse3.4.0有关我使用ResourceBundle类而不仅仅是属性文件的原因的更多信息,请参阅Question 653682 how-to-override-some-resources-from-a-propertyresourcebundle
感谢你的时间,David Waters
答案 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
”。