专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 SpringMVC国际化示例

SpringMVC国际化示例

更新时间:2022-04-15 09:23:43 来源:赢咖4 浏览1353次

在 Spring MVC 应用程序中,自带了几个“ LocaleResolver ”来支持国际化或多语言特性。在本教程中,它显示了一个简单的欢迎页面,显示来自属性文件的消息,并根据所选语言链接更改区域设置。

1.项目文件夹

本例的目录结构。

2. 属性文件

两个属性文件,用于存储英文和中文消息。

欢迎.properties

welcome.springmvc = Happy learning Spring MVC

Welcome_zh_CN.properties

welcome.springmvc = \u5feb\u4e50\u5b66\u4e60 Spring MVC

3.控制器

控制器类,这里没什么特别的,所有的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;
	}
}

4.Spring配置

为了使 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>

5.JSP

一个 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>

6.演示

通过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国际化已经有所了解,大家如果想了解更相关知识,可以来关注一下赢咖4SpringMVC教程,里面的课程内容由浅到深,通俗易懂,即使没有基础也可以看懂,希望对大家的学习能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>