国际化核心
切换按钮
<a href="?locale=zh_CN">中文</a> <a href="?locale=en">英文</a>
表单样式
1 <form action="/login"> 2 <spring:message code="username"/> <input name="username"/> 3 <input type="submit" value="<spring:message code="submint"/>"> 4 </form>
xml配置spring拦截器
1 <bean id="localeResolver" 2 class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean> 3 <mvc:interceptors> 4 <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean> 5 </mvc:interceptors>
xml配置国际化
1 <!-- 国际化配置 --> 2 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 3 <!-- 国际化信息所在的文件名 --> 4 <property name="basename" value="message"/> 5 <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> 6 <property name="useCodeAsDefaultMessage" value="true"/> 7 </bean>
源代码
1 @RequestMapping("/login") 2 public String login(HttpServletRequest request){ 3 RequestContext requestContext=new RequestContext(request); 4 System.out.println(requestContext.getMessage("login.msg",new String[]{"刘先生"})); 5 return "login"; 6 }
附件:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> 6 <mvc:annotation-driven></mvc:annotation-driven> 7 <context:component-scan base-package="com"></context:component-scan> 8 9 <!--视图解析器 jsp--> 10 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 11 <property name="prefix" value="/WEB-INF/jsp/"></property> 12 <property name="suffix" value=".jsp"></property> 13 </bean> 14 15 16 <!-- 国际化配置 --> 17 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 18 <!-- 国际化信息所在的文件名 --> 19 <property name="basename" value="message"/> 20 <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> 21 <property name="useCodeAsDefaultMessage" value="true"/> 22 </bean> 23 24 <bean id="localeResolver" 25 class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean> 26 <mvc:interceptors> 27 <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean> 28 </mvc:interceptors> 29 30 31 </beans>

1 <web-app 2 version="3.0" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 6 7 <display-name>Archetype Created Web Application</display-name> 8 9 <servlet> 10 <servlet-name>springmvc</servlet-name> 11 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 12 </servlet> 13 <servlet-mapping> 14 <servlet-name>springmvc</servlet-name> 15 <url-pattern>/</url-pattern> 16 <!-- / 匹配所有路径 ,除了jsp以外 --> 17 </servlet-mapping> 18 </web-app>

1 //加载语言文件 2 ResourceBundle resourceBundle = ResourceBundle.getBundle("message", Locale.CHINA); 3 System.out.println(resourceBundle.getString("hello"));