springmvc国际化什么用
1个回答
展开全部
本文根据这张图来介绍SpringMVC实现国际化的过程:
1、根据浏览器语言进行国际化配置
2、根据语言切换进行国际化配置
项目要求条件:
支持SpringMVC
一、根据浏览器语言进行国际化配置
SpringMVC国际化配置文件如下,在SpringMVC核心配置文件配置内容如下:
<!-- 国际化资源文件 -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:springi18n/messages" />
</bean>
value值是资源配置文件放置的路径,如下对应所示:前缀名称(任意)_国家编号固定。
文件名称有约定成俗的规定。常有国家语言一览表
语言加代码
语言加国家
zh_CN
中文简体,中国
zh_TW
中文繁体,台湾
zh_HK
中文繁体,香港
en_US
英语,美国
en_GB
英语,英国
es_ES
西班牙
es_US
西班牙语,美国
en_ZA
英语,津巴布韦
OK,接下来就是见证奇迹的时候:
测试SpringController:
package com.lgy.web.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.support.RequestContext;
import com.alibaba.druid.support.spring.stat.SpringStatUtils;
@Controller
@RequestMapping("/i18ntest")
public class I18nControllerTest {
@RequestMapping("/test")
public String Test(HttpServletRequest request) {
//后台获取国际化的信息
RequestContext requestContext = new RequestContext(request);
String message = requestContext.getMessage("welcome"); //获取国际化信息
System.out.println(message);
System.out.println("aaaaaaaaaa");
return "main";
}
}
测试国际化页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Language: <a href="${pageContext.request.contextPath}/i18ntest/test?lang=zh"><spring:message code="language.cn" /></a> - <a href="${pageContext.request.contextPath}/i18ntest/test?lang=en_US"><spring:message code="language.en" /></a>
<h2>
<spring:message code="welcome" />
</h2>
Locale: ${pageContext.response.locale }
</body>
</html>
重点关注2处:
1.
//后台获取国际化的信息
RequestContext requestContext = new RequestContext(request);
String message = requestContext.getMessage("welcome"); //获取国际化信息
2.
<spring:message code="welcome" />
这可是分别从前后台获取国际化的手段,后期可以进行封装。
1、根据浏览器语言进行国际化配置
2、根据语言切换进行国际化配置
项目要求条件:
支持SpringMVC
一、根据浏览器语言进行国际化配置
SpringMVC国际化配置文件如下,在SpringMVC核心配置文件配置内容如下:
<!-- 国际化资源文件 -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:springi18n/messages" />
</bean>
value值是资源配置文件放置的路径,如下对应所示:前缀名称(任意)_国家编号固定。
文件名称有约定成俗的规定。常有国家语言一览表
语言加代码
语言加国家
zh_CN
中文简体,中国
zh_TW
中文繁体,台湾
zh_HK
中文繁体,香港
en_US
英语,美国
en_GB
英语,英国
es_ES
西班牙
es_US
西班牙语,美国
en_ZA
英语,津巴布韦
OK,接下来就是见证奇迹的时候:
测试SpringController:
package com.lgy.web.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.support.RequestContext;
import com.alibaba.druid.support.spring.stat.SpringStatUtils;
@Controller
@RequestMapping("/i18ntest")
public class I18nControllerTest {
@RequestMapping("/test")
public String Test(HttpServletRequest request) {
//后台获取国际化的信息
RequestContext requestContext = new RequestContext(request);
String message = requestContext.getMessage("welcome"); //获取国际化信息
System.out.println(message);
System.out.println("aaaaaaaaaa");
return "main";
}
}
测试国际化页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Language: <a href="${pageContext.request.contextPath}/i18ntest/test?lang=zh"><spring:message code="language.cn" /></a> - <a href="${pageContext.request.contextPath}/i18ntest/test?lang=en_US"><spring:message code="language.en" /></a>
<h2>
<spring:message code="welcome" />
</h2>
Locale: ${pageContext.response.locale }
</body>
</html>
重点关注2处:
1.
//后台获取国际化的信息
RequestContext requestContext = new RequestContext(request);
String message = requestContext.getMessage("welcome"); //获取国际化信息
2.
<spring:message code="welcome" />
这可是分别从前后台获取国际化的手段,后期可以进行封装。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询