Arj*_*jun 21 spring internationalization
我的messages.properties实际上是一个很大的文件.因此,我尝试将messages.properties中的一些属性移动到一个新文件,比如newmessages.properties和更新的spring bean配置xml,其中包含以下两个文件:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:i18n/messages"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="anotherMessageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:i18n/newmessages"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
但是,我无法访问新属性文件中定义的任何属性.是否真的可以指定多个属性文件(对于单个语言环境)?
Ral*_*lph 43
基本名称(s在结尾)属性接受一个基本名称数组:
设置一个基本名称数组,每个基本名称遵循上述特殊约定.在解析消息代码时,将依次检查关联的资源包.
@see java doc:ReloadableResourceBundleMessageSource.setBasenames
所以你应该只有一个消息源,带有一个列表文件(尝试用逗号分隔它们).
<bean id="anotherMessageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames" value="classpath:i18n/newmessages,classpath:i18n/messages"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
spg*_*ara 20
另一种干净的方式:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages1</value>
<value>classpath:messages2</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25656 次 |
| 最近记录: |