JAVA记录-SpringMVC国际化配置
1.搭建SpringMVC框架,不过多阐述
2.spring-mvc.xml加入以下配置:
- <!-- 国际化资源配置,资源文件绑定器-->
- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
- <!-- 国际化资源文件配置,指定properties文件存放位置 -->
- <property name="basename" value="classpath:messages/messages" />
- <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
- <property name="useCodeAsDefaultMessage" value="true" />
- </bean>
- <!-- 动态切换国际化 ,国际化放在session中 -->
- <mvc:interceptors>
- <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
- <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
- </mvc:interceptors>
- <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
3.在resources新建目录messages,然后新建以下两个文件:
- messages_en_US.properties:money=money
- messages_zh_CN.properties:money=金钱
4.后台控制器编写
- package com.net.xinfang.controller;
- import java.util.Locale;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.context.i18n.LocaleContextHolder;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.servlet.i18n.SessionLocaleResolver;
- @Controller
- @RequestMapping(value = "/cte")
- public class CntoEnController {
- @RequestMapping(value="/getcte", method = {RequestMethod.GET})
- public String test(HttpServletRequest request,Model model, @RequestParam(value="langType", defaultValue="zh") String langType){
- if(langType.equals("zh")){
- Locale locale = new Locale("zh", "CN");
- request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale);
- }
- else if(langType.equals("en")){
- Locale locale = new Locale("en", "US");
- request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale);
- }
- else{
- request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale());
- }
- return "cte";
- }
- }
5.jsp页面编写
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>SpringMVC国际化</title>
- </head>
- <body>
- 选择语言:<a href="${pageContext.request.contextPath}/cte/getcte?langType=zh">中文</a> | <a href="${pageContext.request.contextPath}/cte/getcte?langType=en">英文</a>
- <br></br>
- <spring:message code="money" />
- </body>
- </html>
6.测试
JAVA记录-SpringMVC国际化配置的更多相关文章
- JAVA记录-SpringMVC+Mybatis几个核心注意的地方
1.DispatcherServlet -- 前置控制器 DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet. DispatcherServ ...
- springMVC国际化配置和使用
下面是基于session的,springMVC国际花的一个例子: 需求是 输入url:展示中文界面 http://localhost:8080/MySSM/user?lang=zh 输入url: 展 ...
- SpringMVC国际化配置
一.什么是国际化: 国际化是设计软件应用的过程中应用被使用与不同语言和地区 国际化通常采用多属性文件的方式解决,每个属性文件保存一种语言的文字信息, 不同语言的用户看到的是不同的内容 二.spr ...
- JAVA记录-SpringMVC集成redis
1.redis.properties #主机地址 redis.host=127.0.0.1 #端口号 redis.port=6379 #当池内没有返回对象时,最大等待时间毫秒数 redis.pool. ...
- JAVA记录-SpringMVC scope属性的两种模式
singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean定义相匹配,则只 ...
- JAVA记录-maven JDK配置和常用操作
1.pom.xml加入(JDK编译器配置) <build> <finalName>项目名</finalName> <plugins> <plugi ...
- Java记录-SpringMVC整合Echarts画地图加散点图
1.搭建eclipse+JDK+Maven+SpringMVC+Spring+Mybatis后台架构,详细就不过多阐述了 2.下载百度eharts插件:http://echarts.baidu.com ...
- springmvc国际化 基于请求的国际化配置
springmvc国际化 基于请求的国际化配置 基于请求的国际化配置是指,在当前请求内,国际化配置生效,否则自动以浏览器为主. 项目结构图: 说明:properties文件中为国际化资源文件.格式相关 ...
- springmvc国际化 基于浏览器语言的国际化配置
当前标签: springmvc springmvc国际化 基于浏览器语言的国际化配置 苏若年 2013-10-09 13:03 阅读:305 评论:0 SpringMVC中应用Ajax异步通讯 ...
随机推荐
- Linux列举所有隐藏文件
ll 命令是 ls -l的缩写 ls -a是列举所有(all)文件,包含隐藏文件,以.开头的文件. ls -l是以列表(list)方式列举文件. http://bbs.chinaunix.net/th ...
- [百家号]看完再也不会被坑!笔记本接口大揭秘:HDMI、DP、雷电
看完再也不会被坑!笔记本接口大揭秘:HDMI.DP.雷电 https://baijiahao.baidu.com/s?id=1577309281431438678&wfr=spider& ...
- [转帖]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 ...
- 【转帖】2018年Windows漏洞年度盘点
2018年Windows漏洞年度盘点丨老漏洞经久不衰,新0day层出不穷 腾讯电脑管家2019-02-12共17875人围观 ,发现 1 个不明物体网络安全资讯 https://www.freebuf ...
- IDEA Maven 项目默认编译项目为JDK 1.5
昨天晚上遇到一个问题,我在idea中创建了有个maven项目,想使用jdk1.8的lambda表达式,结果提示我错误,是1.8才可以.当时我想我的jdk就是1.8啊.经过各种搜索,才知道maven默认 ...
- 一步步分析为什么B+树适合作为索引的结构
在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引和R-Tree索引,本文讲的是B-Tree索引. 什么是索引 索引(Index)是帮助数据库高效获取数 ...
- 简单谈谈DNS协议
DNS协议也可以称为DNS服务,全称是Domain Name System,即域名系统,和HTTP协议一样,也是一个位于应用层的协议(服务),它是基于运输层的UDP协议的,关于网络协议的分层介绍,见这 ...
- XML的基礎結構
1.xml是什麼? xml,Extensible Markup Language,扩展性标识语言,後綴名為.xml. 2.xml有什麼功能? xml功能是傳輸和儲存數據,用於不同的應用和平台數據共享和 ...
- Java之枚举类范例
代码如下: package catf.component.http.model; /** * @Auther:gongxingrui * @Date:2018-04-17 * @Description ...
- python之tkinter使用-简单对话框
# 简单对话框,包括字符.整数和浮点数 import tkinter as tk from tkinter import simpledialog def input_str(): r = simpl ...