更新时间:2022-04-15 09:23:43 来源:极悦 浏览1465次
在 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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习