更新時間:2022-04-15 09:23:43 來源:動力節點 瀏覽1807次
在 Spring MVC 應用程序中,自帶了幾個“ LocaleResolver ”來支持國際化或多語言特性。在本教程中,它顯示了一個簡單的歡迎頁面,顯示來自屬性文件的消息,并根據所選語言鏈接更改區域設置。
本例的目錄結構。
兩個屬性文件,用于存儲英文和中文消息。
歡迎.properties
welcome.springmvc = Happy learning Spring MVC
Welcome_zh_CN.properties
welcome.springmvc = \u5feb\u4e50\u5b66\u4e60 Spring MVC
控制器類,這里沒什么特別的,所有的locale 的東西都是稍后在Spring 的bean 配置文件中配置的。
package com.mkyong.common.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class WelcomeController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("WelcomePage");
return model;
}
}
為了使 Spring MVC 應用程序支持國際化,注冊兩個 bean:
(1)SessionLocaleResolver
注冊一個“SessionLocaleResolver”bean,將其命名為完全相同的字符“ localeResolver ”。它通過從用戶會話中獲取預定義屬性來解析語言環境。
(2)LocaleChangeInterceptor
注冊一個“LocaleChangeInterceptor”攔截器,并將其引用到任何需要支持多種語言的處理程序映射。“ paramName ”是用于設置語言環境的參數值。
在這種情況下,
welcome.htm?language=en – 從英文屬性文件中獲取消息。
welcome.htm?language=zh_CN – 從中文屬性文件中獲取消息。
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean>
一個 JSP 頁面,包含兩個用于手動更改語言環境的超鏈接,并使用spring:message通過檢查當前用戶的語言環境來顯示來自相應屬性文件的消息。
歡迎頁面.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<body>
<h1>Spring MVC internationalization example</h1>
Language : <a href="?language=en">English</a>|<a href="?language=zh_CN">Chinese</a>
<h2>
welcome.springmvc : <spring:message code="welcome.springmvc" text="default text" />
</h2>
Current Locale : ${pageContext.response.locale}
</body>
</html>
通過http://localhost:8080/SpringMVC/welcome.htm訪問它,通過單擊語言的鏈接更改語言環境。
(1)英語語言環境——http://localhost:8080/SpringMVC/welcome.htm?language=en
2.中文語言環境——http://localhost:8080/SpringMVC/welcome.htm?language=zh_CN
通過上述介紹,相信大家對SpringMVC國際化已經有所了解,大家如果想了解更相關知識,可以來關注一下動力節點SpringMVC教程,里面的課程內容由淺到深,通俗易懂,即使沒有基礎也可以看懂,希望對大家的學習能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習