1.编写国际化文件:
2.在 springmvc.xml 文件中配置:
<!-- 配置国际化资源文件 -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"></property>
</bean>
<!-- 配置 SessionLocaleResolver -->
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
</bean>
//装配拦截器
<mvc:interceptors>
<!-- 配置 LocaleChangeInterceptor -->
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
</mvc:interceptors>
LocaleChangeInterceptor:*从请求参数中获取本次请求对应的本地化类型。*
3.Controller 中代码:
@Autowired
private ResourceBundleMessageSource messageSource;
@RequestMapping("/i18n")
public String testI18n(Locale locale) {
//从参数中获取 locale
//String val = messageSource.getMessage("i18n.username", null, locale);
//System.out.println(val);
return "i18n";
}
JSP 代码:
需要先导入 fmt 标签:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<body>
<fmt:message key="i18n.username"></fmt:message><br>
<fmt:message key="i18n.password"></fmt:message>
<br><br>
<a href="${pageContext.request.contextPath }/springmvc/i18n?locale=zh_CN">中文</a>
<a href="${pageContext.request.contextPath }/springmvc/i18n?locale=en_US">英文</a>
</body>