在Spring 中可以使用以下两个类加载资源文件:
org.springframework.context.support.ResourceBundleMessageSource
和
org.springframework.context.support.ReloadableResourceBundleMessageSource
后者可以不重起服务器的情况下,读取资源文件,所以可以随时更改资源文件。
以下为在其配置:
- <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
- <property name="basename">
- <value>ApplicationResources</value>
- </property>
- </bean>
- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
- <property name="basename">
- <value>ApplicationResources</value>
- </property>
- </bean>
当上下文件配置文件被读取后,以在配置文件中指定的名字为基名的资源文件全部会被读入,并置于上下文中,这样以后就可以在上下文中读取,在页面上也可以使用Spring标签取得。
public class MessageSourceHelper {
private ResourceBundleMessageSource messageSource;
public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) {
String msg = messageSource.getMessage(code, args, defaultMessage, locale);
return msg != null ? msg.trim() : msg;
}
public void setMessageSource(ResourceBundleMessageSource messageSource) {
this.messageSource = messageSource;
}
}