一、首先在src文件下添加3個properties文件html
a、message.properties
前端
1 message.username=UserName 2 message.password=Password
b、message_en.propertiesjava
1 message.username=UserName 2 message.password=Password
c、message_zh.propertiesspring
1 message.username=\u7528\u6237\u540D 2 message.password=\u5BC6\u7801
二、配置spring-mvc.xml文件spring-mvc
1 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 2 <!-- 指定文件基名 --> 3 <property name="basename" value="message"/> 4 <!-- 當沒有找到資源文件時,用這基名文件 --> 5 <property name="useCodeAsDefaultMessage" value="true" /> 6 </bean>
這裏配置屬性userCodeAsDefaultMessage=true。意思當在其餘語言區域裏,沒有找到對應的國際化文件。好比日語區、韓語區等。默認使用message.properties文件。當爲false時,顯示有問題。mvc
三、配置Controllerapp
1 @Controller 2 public class UserController { 3 4 @RequestMapping("/updateUser") 5 public String update(){ 6 7 return "success"; 8 } 9 10 }
四、Jsp頁面jsp
要作jsp頁面中使用國際化信息。須要添加一個fmt標籤。該標籤在JSTL標籤表中。添加方式url
1 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
index.jspspa
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 3 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 5 <html> 6 <head> 7 <title>My JSP 'hello.jsp' starting page</title> 8 </head> 9 10 <body> 11 12 <fmt:message key="message.username"/><input type="text" name="username" /><br/> 13 <fmt:message key="message.password"/><input type="text" name="password" /><br/> 14 </body> 15 </html>
hello.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 3 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 5 <html> 6 <head> 7 <title>My JSP 'hello.jsp' starting page</title> 8 </head> 9 10 <body> 11 12 <fmt:message key="message.username"/><input type="text" name="username" /><br/> 13 <fmt:message key="message.password"/><input type="text" name="password" /><br/> 14 </body> 15 </html>
咱們經過url訪問success.jsp頁面。
訪問地址:http://localhost:8080/springmvc-1/updateUser
咱們訪問index.jsp頁面http://localhost:8080/springmvc-1
結果出現這樣的結果
緣由是index.jsp頁面能夠直接被訪問到,而success.jsp頁面在WEB-INF下面,不可以直接訪問,須要經過servlet轉發的方式纔夠訪問。在SpringMVC中,DispatcherServlet前端控制器,攔截了全部請求,對http://localhost:8080/springmvc-1/updateUser訪問。交個SpringMVC去處理。而在spring-mvc.xml配置了ResourceBundleMessageSource,因此在success頁面中可使用國際化信息。
綜上所述:要使用基於頁面的國際化信息,須要使用轉發的方式才能生效。