Closed yogjun closed 5 years ago
一:配置文件 首先在web-content.xml这个上下文里添加配置:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /> <!-- 国际化资源文件 --> <!-- “messageSource”配置的是国际化资源文件的路径,”classpath:messages”指的是classpath路径下的messages_zh_CN.properties文件和messages_en_US.properties文件。 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:messages" /> </bean><!-- 该拦截器通过名为”lang”的参数来拦截HTTP请求,使其重新设置页面的区域化信息 --> <mvc:interceptors> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="lang" /> </bean> </mvc:interceptors>
同时在上方配置的对应路径添加配置文件,默认为中文。例子中配置的路径对应为:
Properties文件中会自动转码 二:页面使用
三:java代码使用 @Autowired private MessageSource messageSource; Locale locale= Locale.getDefault(); String projectName=messageSource.getMessage("label.project.name", null, locale); 四:语言的切换 request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,new Locale("zh","CN")); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,new Locale("en","US"));
一:配置文件 首先在web-content.xml这个上下文里添加配置:
同时在上方配置的对应路径添加配置文件,默认为中文。例子中配置的路径对应为:
Properties文件中会自动转码 二:页面使用
三:java代码使用 @Autowired private MessageSource messageSource; Locale locale= Locale.getDefault(); String projectName=messageSource.getMessage("label.project.name", null, locale); 四:语言的切换 request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,new Locale("zh","CN")); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,new Locale("en","US"));