use*_*206 12 spring message spring-mvc
这是我的messageResource声明
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<!-- Auto-detect controllers in this package -->
<context:component-scan base-package="levelup.world.web" />
<!-- Prepend /WEB-INF/jsp/ and append .jsp to the view name -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- Access resource bundles with the specified basename -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="/WEB-INF/messages/" />
</beans>
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,会出现此错误
No message found under code 'country.plural' for locale 'fil_PH'
Run Code Online (Sandbox Code Playgroud)
现在在web-inf里面的我的消息文件夹里面,我有以下消息属性
messages_en.properties
messages_fr.properties
messages.properties
Run Code Online (Sandbox Code Playgroud)
我在这里失踪了什么?
n1c*_*las 23
一般来说,这样的问题不是因为不存在的语言环境,而是因为MessageBundle
配置不当.在您的情况下,您似乎需要删除基本名称中的"/".
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="/WEB-INF/messages" />
Run Code Online (Sandbox Code Playgroud)
为什么会这样:
如果你有messages.properties
和messages_en.properties
捆绑,那么捆绑名称是messages
.如果你在WEB-INF
文件夹中有它们,那么basename就是/WEB-INF/messages
,即根据/ path/to/bundle/bundlename
.如果你有messages.properties
内部/WEB-INF/messages
文件夹,然后相应的基本名称是/WEB-INF/messages/messages
.
rop*_*opo 10
对于春季靴子你需要这样的东西:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/WEB-INF/classes/messages");
return messageSource;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 spring boot 文件夹资源,您需要添加 Bean 的名称:
@Bean(name="messageSource")
public ResourceBundleMessageSource bundleMessageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages");
return messageSource;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66228 次 |
最近记录: |