1.搭建SpringMVC框架,不过多阐述

2.spring-mvc.xml加入以下配置:

  1. <!-- 国际化资源配置,资源文件绑定器-->
  2. <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  3. <!-- 国际化资源文件配置,指定properties文件存放位置 -->
  4. <property name="basename" value="classpath:messages/messages" />
  5. <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
  6. <property name="useCodeAsDefaultMessage" value="true" />
  7. </bean>
  8. <!-- 动态切换国际化 ,国际化放在session中 -->
  9. <mvc:interceptors>
  10. <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
  11. <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
  12. </mvc:interceptors>
  13. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />

3.在resources新建目录messages,然后新建以下两个文件:

  1. messages_en_US.propertiesmoney=money
  2.  
  3. messages_zh_CN.propertiesmoney=金钱

4.后台控制器编写

  1. package com.net.xinfang.controller;
  2.  
  3. import java.util.Locale;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.springframework.context.i18n.LocaleContextHolder;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11. import org.springframework.web.servlet.i18n.SessionLocaleResolver;
  12.  
  13. @Controller
  14. @RequestMapping(value = "/cte")
  15. public class CntoEnController {
  16.  
  17. @RequestMapping(value="/getcte", method = {RequestMethod.GET})
  18. public String test(HttpServletRequest request,Model model, @RequestParam(value="langType", defaultValue="zh") String langType){
  19. if(langType.equals("zh")){
  20. Locale locale = new Locale("zh", "CN");
  21. request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale);
  22. }
  23. else if(langType.equals("en")){
  24. Locale locale = new Locale("en", "US");
  25. request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale);
  26. }
  27. else{
  28. request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale());
  29. }
  30. return "cte";
  31. }
  32. }

5.jsp页面编写

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4.  
  5. <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
  6.  
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  10. <title>SpringMVC国际化</title>
  11. </head>
  12. <body>
  13. 选择语言:<a href="${pageContext.request.contextPath}/cte/getcte?langType=zh">中文</a> | <a href="${pageContext.request.contextPath}/cte/getcte?langType=en">英文</a>
  14. <br></br>
  15. <spring:message code="money" />
  16. </body>
  17. </html>

6.测试

JAVA记录-SpringMVC国际化配置的更多相关文章

  1. JAVA记录-SpringMVC+Mybatis几个核心注意的地方

    1.DispatcherServlet   -- 前置控制器 DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet. DispatcherServ ...

  2. springMVC国际化配置和使用

    下面是基于session的,springMVC国际花的一个例子: 需求是 输入url:展示中文界面 http://localhost:8080/MySSM/user?lang=zh 输入url:  展 ...

  3. SpringMVC国际化配置

    一.什么是国际化: 国际化是设计软件应用的过程中应用被使用与不同语言和地区 国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息,    不同语言的用户看到的是不同的内容 二.spr ...

  4. JAVA记录-SpringMVC集成redis

    1.redis.properties #主机地址 redis.host=127.0.0.1 #端口号 redis.port=6379 #当池内没有返回对象时,最大等待时间毫秒数 redis.pool. ...

  5. JAVA记录-SpringMVC scope属性的两种模式

    singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean定义相匹配,则只 ...

  6. JAVA记录-maven JDK配置和常用操作

    1.pom.xml加入(JDK编译器配置) <build> <finalName>项目名</finalName> <plugins> <plugi ...

  7. Java记录-SpringMVC整合Echarts画地图加散点图

    1.搭建eclipse+JDK+Maven+SpringMVC+Spring+Mybatis后台架构,详细就不过多阐述了 2.下载百度eharts插件:http://echarts.baidu.com ...

  8. springmvc国际化 基于请求的国际化配置

    springmvc国际化 基于请求的国际化配置 基于请求的国际化配置是指,在当前请求内,国际化配置生效,否则自动以浏览器为主. 项目结构图: 说明:properties文件中为国际化资源文件.格式相关 ...

  9. springmvc国际化 基于浏览器语言的国际化配置

    当前标签: springmvc   springmvc国际化 基于浏览器语言的国际化配置 苏若年 2013-10-09 13:03 阅读:305 评论:0   SpringMVC中应用Ajax异步通讯 ...

随机推荐

  1. Linux列举所有隐藏文件

    ll 命令是 ls -l的缩写 ls -a是列举所有(all)文件,包含隐藏文件,以.开头的文件. ls -l是以列表(list)方式列举文件. http://bbs.chinaunix.net/th ...

  2. [百家号]看完再也不会被坑!笔记本接口大揭秘:HDMI、DP、雷电

    看完再也不会被坑!笔记本接口大揭秘:HDMI.DP.雷电 https://baijiahao.baidu.com/s?id=1577309281431438678&wfr=spider& ...

  3. [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...

  4. 【转帖】2018年Windows漏洞年度盘点

    2018年Windows漏洞年度盘点丨老漏洞经久不衰,新0day层出不穷 腾讯电脑管家2019-02-12共17875人围观 ,发现 1 个不明物体网络安全资讯 https://www.freebuf ...

  5. IDEA Maven 项目默认编译项目为JDK 1.5

    昨天晚上遇到一个问题,我在idea中创建了有个maven项目,想使用jdk1.8的lambda表达式,结果提示我错误,是1.8才可以.当时我想我的jdk就是1.8啊.经过各种搜索,才知道maven默认 ...

  6. 一步步分析为什么B+树适合作为索引的结构

    在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引和R-Tree索引,本文讲的是B-Tree索引. 什么是索引 索引(Index)是帮助数据库高效获取数 ...

  7. 简单谈谈DNS协议

    DNS协议也可以称为DNS服务,全称是Domain Name System,即域名系统,和HTTP协议一样,也是一个位于应用层的协议(服务),它是基于运输层的UDP协议的,关于网络协议的分层介绍,见这 ...

  8. XML的基礎結構

    1.xml是什麼? xml,Extensible Markup Language,扩展性标识语言,後綴名為.xml. 2.xml有什麼功能? xml功能是傳輸和儲存數據,用於不同的應用和平台數據共享和 ...

  9. Java之枚举类范例

    代码如下: package catf.component.http.model; /** * @Auther:gongxingrui * @Date:2018-04-17 * @Description ...

  10. python之tkinter使用-简单对话框

    # 简单对话框,包括字符.整数和浮点数 import tkinter as tk from tkinter import simpledialog def input_str(): r = simpl ...