一.项目结构:

二.操作步骤:

在springmvc.xml配置如下内容

1.配置拦截器

<!-- 本地化变更拦截器 -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptors>
<!-- 国际化资源切换时,根据请求参数中的locale参数自动切换 -->
<mvc:interceptor>
<mvc:mapping path="/**" />
<ref bean="localeChangeInterceptor" />
</mvc:interceptor>
</mvc:interceptors>

2.配置解析方式

如果是需要在界面上进行切换的话选用Session方式,如果要是浏览器自适应语言的话可以选用cookies方式。

<!-- 浏览器自适应语言方式(cookie方式) -->
<!-- <bean id="cookieLocaleResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" /> --><!-- 需要在界面上进行切换(session方式) -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"><!-- 会话属性不存在,默认属性设置 --><property name="defaultLocale" value="zh_CN" />
</bean>

3.配置资源文件读取

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basename" value="message" /><property name="useCodeAsDefaultMessage" value="true" />
</bean>

4.将message_en_US.properties和message_zh_CN.properties放到项目的类路径下。

三.示例演示:

springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><context:component-scan base-package="com.dqiang"></context:component-scan><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/views/" p:suffix=".jsp"></bean><bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basename" value="message" /><property name="useCodeAsDefaultMessage" value="true" /></bean><!-- 本地化变更拦截器 --><bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /><!-- 浏览器自适应语言方式(cookie方式) --><!-- <bean id="cookieLocaleResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" /> --><!-- 需要在界面上进行切换(session方式) --><bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"><!-- 会话属性不存在,默认属性设置 --><property name="defaultLocale" value="zh_CN" /></bean><mvc:interceptors><!-- 国际化资源切换时,根据请求参数中的locale参数自动切换 --><mvc:interceptor><mvc:mapping path="/**" /><ref bean="localeChangeInterceptor" /></mvc:interceptor></mvc:interceptors>
</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>springmvc4</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

Index.java

package com.dqiang;import java.util.Locale;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class Index {@Autowiredprivate ResourceBundleMessageSource messagesource;@RequestMapping("/index")public String goIndex(){return "index";}@RequestMapping("/lang")public String goSuccess(Locale locale){String val=messagesource.getMessage("username", null,locale);System.out.println("==="+val+"====>"+locale.getLanguage());return "success";}
}

message_en_US.properties

username=username1
password=password

message_zh_CN.properties

username=\u7528\u6237\u540D
password=\u5BC6\u7801

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here2</title>
</head>
<body>
<a href="lang?locale=en_US">en</a><br/>
<a href="lang?locale=zh_CN">zh</a><br/>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
success.jsp
</body>
</html>

Demo下载:点击下载

基于SpringMVC国际化资源配置方式Demo相关推荐

  1. 基于 SpringMvc + OpenCV 实现的答题卡识别系统(附源码)

    点击关注公众号,实用技术文章及时了解 java_opencv 项目介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,它提供了一系列图像处理和计算机视觉方面很多通用算法.是研究图像 ...

  2. 基于 SpringMvc+OpenCV 实现的答题卡识别系统(附源码)

    java_opencv 项目介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,它提供了一系列图像处理和计算机视觉方面很多通用算法.是研究图像处理技术的一个很不错的工具.最初开始接 ...

  3. 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

    基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...

  4. Java基于springMVC的验证码案例

    1 ``` 2 Java验证码案例(基于springMVC方式) 3 4 验证码工具类 5 package com.ekyb.common.util; 6 7 import java.awt.Colo ...

  5. Nancy之基于Nancy.Owin的小Demo

    前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katan ...

  6. SpringMVC静态资源配置

    SpringMVC静态资源配置 项目使用了springmvc开发时,需要配置springmvc对静态资源的映射,否则无法请求到项目中的静态资源,配置方式如下 1.在SpringMVC的配置文件中使用m ...

  7. springMVC 国际化 多语言

    springMVC 国际化(多语言) 配置 系统有时需要考虑多国人员使用(比如中国人.美国人.日本人.韩国人),面向不同国家的使用者应该能方便地在不同语言之间进行切换,比如中文.英文.日文.韩文. 常 ...

  8. 关于SpringMVC国际化的问题--中文状态下运行正常,英文状态不正常

    注意:这是我自己的分析,如有什么不对的地方请评论区指正. 问题描述: 昨天学习了关于SpringMVC国际化的知识,在所有代码完成的情况下,我在配置文件中配置i18n文件之后,浏览器出现在中文环境下好 ...

  9. (一)基于Session的认证方式

    创建工程 本案例工程使用maven进行构建,使用SpringMVC.Servlet3.0实现. 创建maven工程 security-springmvc,工程结构如下: 引入如下依赖如下,注意: 1. ...

  10. 基于多视图几何方式的三维重建

    写在前面 感谢我们「3D视觉从入门到精通」知识星球嘉宾为我们带来的主题为基于多视图几何方式的三维重建视频讲解,星球成员可免费观看学习.备注:作者来自武汉大学在读博士,精通多视图几何算法. 什么是知识星 ...

最新文章

  1. Linux环境编程--多线程
  2. nhibernate处理多数据库
  3. 米兔积木机器人能飞吗_米兔积木机器人APP使用教程
  4. 涨姿势了!22 个拓展程序员技术与视野的国外网站,快添加进收藏夹!
  5. 查看mysql语句运行时间
  6. 《自顶向下网络设计(第3版)》——导读
  7. mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...
  8. django之开发环境关于settins.py里面的DEBUG的设置和静态文件的关系
  9. oracle聚合字符串,Oracle 聚合字符串
  10. ad20中如何在pcb里查找器件,AD中原理图如何查找相应的元件?
  11. js中定义变量时单引号和双引号的区别
  12. 手机投屏不是全屏怎么办_手机投屏怎么全屏使用?
  13. 如何将360全景图导出高清短视频分享到视频平台上?
  14. SSRF漏洞修复方案
  15. linux下gbd调试基础
  16. 破解程序员的 5 大迷思,《新程序员 004》正式上市!
  17. 2019年暑假第八周总结
  18. groovy if 判断字符串_Groovy语法
  19. css -- 为什么:last-child 无效?
  20. 任正非:5G 背后有个不谈恋爱的小伙子

热门文章

  1. Node.js的集群功能以及在Express的配置
  2. ANSI,UTF-8,Unicode,ASCII编码的区别
  3. 如何在浏览器上安装 VueDevtools工具
  4. Python 数据结构 树
  5. CodeForces Gym 100935E Pairs
  6. python selenuim使用代理的方式
  7. Linux(12.1-12.6)学习笔记
  8. 6个残酷的人生事实[转]
  9. 数据库,规则库和知识库的比较
  10. 分布的距离(Distance of Distributions)