spring 国际化

国际化核心

切换按钮

<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>
springmvc-servlet.xml
 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>
web.xml
1         //加载语言文件
2         ResourceBundle resourceBundle = ResourceBundle.getBundle("message", Locale.CHINA);
3         System.out.println(resourceBundle.getString("hello"));
加载语言文件测试
原文地址:https://www.cnblogs.com/LiuOOP/p/11205481.html