springMVC配置 国际化实现中英文切换

一.基于session的国际化实现:

首先配置我们项目的springservlet-mvc.xml文件添加的内容如下:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <!-- 国际化信息所在的文件名 -->                     
        <property name="basename" value="messages" />   
        <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称  -->               
        <property name="useCodeAsDefaultMessage" value="true" />           
    </bean>
    <mvc:interceptors>  
         <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 --> 
         <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />  
    </mvc:interceptors>  
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />

二、在项目中的源文件夹resources中添加messages.properties、messages_zh_CN.properties、messages_en_US.properties三个文件,其中messages.properties、messages_zh_CN.properties里面的"money", "date",为中文,messages_en_US.properties里面的为英文。 三、配置index.jsp

<%@ page contentType='text/html; charset=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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="switch?langType=zh">中文</a> | <a href="switch?langType=en">英文</a><br/>
<spring:message code="index"/>
</br>
哈哈哈哈 这是个主页
</body>
</html>

四、后台配置

/**
 * 中英文语言切换
 * 创建者    张志朋
 * 创建时间    2016年8月1日
 *
 */
@Controller
public class GlobalController extends BaseController {
    
    @RequestMapping(value="/switch", 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 "modules/index";
    }
    
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

Oracle Net Services - Tracing and Logging at a Glance

    Oracle Net trace 用于跟踪或调试oracle连接故障,连接异常断开或者连接超时等情形,通过产生详细的跟踪信息来进行分析和诊断Oracle...

703
来自专栏iOSDevLog

提交 BookReader Framework 到 CocoaPodsBookReaderCocoaPods

https://github.com/kishikawakatsumi/BookReader

1392
来自专栏JavaEdge

Shiro 实战(一)-简介介绍

Authentication: Sometimes referred to as ‘login’, this is the act of proving a u...

1023
来自专栏吴伟祥

Linux命令缩写英文对照记忆(〇) 转

1272
来自专栏IT笔记

SpringBoot开发案例之微信小程序录音上传

前言 书接上回的《SpringBoot开发案例之微信小程序文件上传》,正常的业务流程是,口语测评需要学生通过前端微信小程序录入一段音频,通过调用第三方音频处理服...

1.4K8
来自专栏IT笔记

SpringBoot开发案例之微信小程序录音上传

书接上回的《SpringBoot开发案例之微信小程序文件上传》,正常的业务流程是,口语测评需要学生通过前端微信小程序录入一段音频,通过调用第三方音频处理服务商进...

9468
来自专栏FreeBuf

Scrounger:一款功能强大的移动端应用程序安全测试套件

今天给大家介绍的是一款名叫Scrounger 的工具,广大研究人员可以使用这款工具来对移动端应用程序的安全性进行测试。首先,这款工具参考和借鉴了很多目前安全社区...

1301
来自专栏向治洪

android PakageManagerService启动流程分析

PakageManagerService的启动流程图 ? 1.PakageManagerService概述 PakageManagerService是andro...

53610
来自专栏Laoqi's Linux运维专列

LAMP整理之httpd-vhosts.conf

httpd-vhosts.conf ##配置的www.asd.com;asd.com;www.sdf.com站点 <VirtualHost *:80> ...

3284
来自专栏Java与Android技术栈

用kotlin来实现dsl风格的编程

Anko 是一个 DSL (Domain-Specific Language), 它是JetBrains出品的,用 Kotlin 开发的安卓框架。它主要的目的是...

982

扫码关注云+社区

领取腾讯云代金券