Java中的MissingResourceException异常: 找不到名称为"messages",语言环境为en_US的bundle。

5

我是JSF的新手,正在尝试这段代码。这是我的faces-config.xml文件:

<application>
        <resource-bundle>
            <base-name>messages</base-name>
            <var>msg</var>
        </resource-bundle>
    </application>

messages是一个存储一些属性和信息的文件,它并没有放置在任何目录下,而是直接放置在应用程序下。为什么我不能访问这个文件呢?

谢谢你的帮助。如果需要额外的信息,请告诉我。

将文件放置到 /WEB-INF/classes 目录下。 - jmj
你的文件名叫做 messages.properties 吗? - beny23
2个回答

5

看起来你的文件放在 src 文件夹中的某个包中。

<base-name>some.package.name.Messages</base-name>

请确保名为Messages.properties的文件存在。
顺便提一下,您是否知道Messages.properties文件可以覆盖验证器错误消息?
此外,请查看这个不错的教程:JSF 2消息和消息示例

谢谢..我之前没有把文件放在src下..但现在我已经放好了..并且放在了一个很好的包结构中。文件名为Message.properties。另外,我需要写package.Messages而不是package.messages..在faces-config.xml中..这个'M'很重要。我详细地写下来,希望能帮助其他像我一样无助的新手。 - digvijay
不客气,我知道M是你问题复制/粘贴时留下的余物 :) - Daniel
很好,没问题。我正在研究你的问题。在了解其影响之前,我需要学习有关验证器的知识。稍后会有更多问题。 - digvijay

3
如果直接将文件放在src目录中,它应该可以工作。虽然我建议将消息文件组织成包。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接