学习SpringMVC(二十一)之通过超链接切换Locale

1.配置国际化文件 

2.在springmvc.xml中:

<span style="font-family:SimSun;font-size:18px;"><!-- 配置国际资源化文件 -->
<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basename" value="i18n"></property>
</bean>
<bean name="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<!-- 装配拦截器 -->
<mvc:interceptors>
	<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
</mvc:interceptors></span>
<!-- 配置直接转发页面 -->
<!-- 可以直接相应转发的页面,而无须再经过Handler方法 -->
<mvc:view-controller path="/i18n" view-name="i18n1"/>
<mvc:view-controller path="/i18n1" view-name="i18n2"/>

3.在index.jsp中:

<span style="font-family:SimSun;font-size:18px;">  <fmt:message key="i18n.password"></fmt:message>
 	<a href="i18n">I18N1 PAGE</a>

 	<br><br>
	<a href="i18n1?locale=zh_CH">中文</a>

	<br><br>
	<a href="i18n1?locale=en_US">英文</a></span>
时间: 2024-10-11 10:44:10

学习SpringMVC(二十一)之通过超链接切换Locale的相关文章

cocos2dx 3.1从零学习(二)——菜单、场景切换、场景传值

回顾一下上一篇的内容,我们已经学会了创建一个新的场景scene,添加sprite和label到层中,掌握了定时事件schedule.我们可以顺利的写出打飞机的主场景框架. 上一篇的内容我练习了七个新场景,每一个场景都展示不同的东西,像背景定时切换.各种字体的随机颜色和位置等.每次要切换一个场景都要修改AppDelegate中的调用代码,非常的不方便查看,这一篇我们写场景的切换.每当我们创建一个新的场景的时候只要添加对应按钮到主界面,点击即可以切换过去查看对应的效果.这个有点类似官方提供的cppt

马哥学习笔记二十一——LVS DR模型

kernel parameter: arp_ignore: 定义接收到ARP请求时的响应级别: 0:只要本地配置的有相应地址,就给予响应: 1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应: arp_announce:定义将自己地址向外通告时的通告级别: 0:将本地任何接口上的任何地址向外通告: 1:试图仅向目标网络通告与其网络匹配的地址: 2:仅向与本地接口上地址匹配的网络进行通告: curl命令选项: --cacert <file> CA证书 (SSL) --capath &l

Swift 学习之二十一:?和 !(详解)

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值, 也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化 .如果在使用变量之前不进行初始化就会报错: [plain] view plaincopyprint? var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = stringValue.hashV

Java基础学习笔记二十一 多线程

多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 什么是多线程呢?即就是一个程序中有多个线程在同时执行.通过下图来区别单线程程序与

Linux学习笔记&lt;二十一&gt;——busybox制作小系统

制作流程: kernel->initrd(busybox)->rootfs(busybox) kernel:直接利用/boot/vmlinuz-`uname -r`内核镜像或手动编译生成 initrd:编译busybox,在busybox的基础上建立initrd rootfs:同样在busybox的基础上建立rootfs 一.为小系统上的新硬盘建立分区并挂载在宿主机的相应目录,以便创建修改文件. /dev/hda1    100M    boot分区    挂载在/mnt/boot /dev/

Java学习系列(二十一)Java面向对象之注解详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45295947 一.前言 Java中的注解Annotation运用到很多方面,比如之前讲的单元测试中的@Test.Spring.SpringMVC还有其他框架等等.Java本身自带的注解也有一些,比如:@Override(子类要重写/覆写父类的对应方法).@Deprecated(表示方法不建议被使用).@SuppressWarnings(抑制警告)等等.当然,我们也可以自定义一些自己需要的

(转)【D3D11游戏编程】学习笔记二十一:Cube Mapping及其应用之一:天空盒的实现

(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 这一节讨论有关纹理映射的进阶内容:Cube Mapping. 1. 简介 单从名字上,就大概可以看出点端倪了,翻译成中文为立方体映射,因此肯定跟立方体有关系.确实,Cube Mapping就是使用六张正方形的图片来进行纹理映射的.这六张图片分别对应了一个立方体中的六个面.由于这个立方体是轴对齐的,因此每个面可以用坐标系中的六个轴方向来惟

Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制

前言 这个系列我们学习shell的基础知识. 一.认识shell 我们经常使用的终端,其实就是一个shell.Bourne开发的shell原本叫shell,后来再版Bourne Again Shell叫做Bash.我们通常使用的shell就是Bash. 二.命令历史 history命令能够记录我们使用过的命令: [[email protected] ~]# history|tail -n3 803 history|tail -n3 804 history 805 history|tail -n3

智能车学习(二十一)&mdash;&mdash;K60单片机ftm学习

一.头文件: #ifndef _FTM_H_ #define _FTM_H_ #include "common.h" extern volatile struct FTM_MemMap *FTMx[3]; typedef enum FTMn { FTM0, FTM1, FTM2 } FTMn; typedef enum CHn { // --FTM0-- --FTM1-- --FTM2-- CH0, // PTC1 PTA8 PTB18 CH1, // PTC2 PTA9 PTB19