springmvc国际化什么用

 我来答
点点通软件公司
2017-10-03 · TA获得超过922个赞
知道小有建树答主
回答量:650
采纳率:89%
帮助的人:140万
展开全部
本文根据这张图来介绍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" />
这可是分别从前后台获取国际化的手段,后期可以进行封装。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式