这个问题非常相似(如果不一样):
"Can't find bundle for base name messages" error
ResourceBundle [messages] not found for MessageSource: Can't find bundle for base name messages
基本上,我有这段代码:
<body>
<f:view>
<f:loadBundle basename="de.vogella.jsf.starter.messages" var="msg" />
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="#{msg.user}"></h:outputLabel>
<h:inputText value="#{user.name}">
<f:validator
validatorId="de.vogella.jsf.starter.validator.LoginValidator" />
</h:inputText>
<h:outputLabel value="#{msg.password}"></h:outputLabel>
<h:inputSecret value="#{user.password}">
</h:inputSecret>
</h:panelGrid>
<h:commandButton action="#{user.login}" value="#{msg.login}"></h:commandButton>
<h:messages layout="table"></h:messages>
</h:form>
</f:view>
当我尝试跑步时,我得到了
An exception occurred processing JSP page /LoginView.jsp at line 13
10: </head>
11: <body>
12: <f:view>
13: <f:loadBundle basename="de.vogella.jsf.starter.messages" var="msg" />
14: <h:form>
15: <h:panelGrid columns="2">
16: <h:outputLabel value="#{msg.user}"></h:outputLabel> Stacktrace:
Caused by:
java.util.MissingResourceException - Can't find bundle for base name de.vogella.jsf.starter.messages, locale en`
我尝试更改文件名,更改代码中的文件名,添加资源文件夹(但我认为已经正确包含),并将messages.properties文件放在所有可能的文件夹中。奇怪的是,eclipse本身显示了这个错误,它还有一个空的基本名称框(没有默认提议)。 如果它有帮助,我的项目结构: http://imgur.com/3eAxWo3
答案 0 :(得分:2)
您能否确认目录de.vogella.jsf.starter
中是否有message.properties文件?
如果没有,请在此目录中添加message.properties,然后编译所有。检查你是否仍然得到例外?
答案 1 :(得分:0)
我也遇到了同样的问题。 但最后,如果将messages.properties文件保存在任何包(de.vogella.jsf.starter.model)下并包含如下内容: &LT; f:loadBundle basename =&#34; de.vogella.jsf.starter.model.messages&#34; VAR =&#34; MSG&#34; /&GT; 这是工作。