springMVC 用超链接做国际化
默认情况下,SpringMVC 根据 Accept-Language 参数判断客户端的本地化类型
- 此时需要修改浏览器语言
超链接修改
- 当接受到请求时,SpringMVC 会在上下文中查找一个本地化解析器(LocalResolver),找到后使用它获取请求所对应的本地化类型信息
- SpringMVC 还允许装配一个动态更改本地化类型的拦截器,这样通过指定一个请求参数就可以控制单个请求的本地化类型
根据源码得出的流程路
本地化解析器和本地化拦截器
- AcceptHeaderLocaleResolver:根据 HTTP 请求头的Accept-Language 参数确定本地化类型,如果没有显式定义本地化解析器, SpringMVC 使用该解析器
- CookieLocaleResolver:根据指定的 Cookie 值确定本地化类型
- SessionLocaleResolver:根据 Session 中特定的属性确定本地化类型
- LocaleChangeInterceptor:从请求参数中获取本次请求对应的本地化类型。
springmvc中配置代码
<!-- 配置国际化资源文件 --><bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basename" value="i18n"></property></bean>
<mvc:interceptors><!-- 配置 LocaleChanceInterceptor --><bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean></mvc:interceptors>
关于国际化
关于国际化:
1. 在页面上能够根据浏览器语言设置的情况对文本(不是内容), 时间, 数值进行本地化处理
2. 可以在 bean 中获取国际化资源文件 Locale 对应的消息
3. 可以通过超链接切换 Locale, 而不再依赖于浏览器的语言设置情况
解决:1. 使用 JSTL 的 fmt 标签2. 在 bean 中注入 ResourceBundleMessageSource 的示例, 使用其对应的 getMessage 方法即可3. 配置 LocalResolver 和 LocaleChangeInterceptor
需要:写入
- i18n_en_US.properties
- i18n_zh_CN.properties
- i18n.properties
springMVC 用超链接做国际化相关推荐
- 基于ng-alain做国际化
基于ng-alain做国际化 1.下载需要下载的包 2.加载支持i18n模块 2-1. 修改app.module.ts 使用和修改默认语言 在header.component.html中引用Heade ...
- 超链接做按钮 禁止跳转 submit 或 location 导致 return false 不起作用
起因: 页面中有个小功能,使用超链接做按钮用,按习惯方式写为 <a href="" οnclick="fun(); return false;"> ...
- springmvc 拦截器、国际化、验证
2019独角兽企业重金招聘Python工程师标准>>> springmvc 拦截器 继承了HandlerIntercepter的类可以作为拦截器类: package com.yawn ...
- vue3.0 引入i18n 做国际化 - 做动态语言切换
说明 适合 vue2.0版本的官方链接如下: Vue I18nVue I18n 是 Vue.js 的国际化插件https://kazupon.github.io/vue-i18n/zh/ ...
- springmvc整合shiro做登陆权限控制,使用mongodb存储session
公司模块分得比较细,一直给自己的模块做后台数据处理,对前端和登陆验证权限等操作遗忘很多,于是研究了一下公司目前的后台登录结构,用了shiro验证登录和授权,使用mongodb作为sessiondao实 ...
- 如何进行多语言发布,做国际化开发
- 1 新建 String File 文件,命名为 Localizable.strings ,往里面添加你想要的语言支持. - 2 在不同语言的 Localizable.strings文件中添加对 ...
- SpringMVC之国际化
一.国际化 国际化(internationalization:i18n):国际化是指程序在不做任何修改的情况下,就可以在不同的国家或地区和不同的语言环境下,按照当地的语言和格式习惯的显示字符.例如:对 ...
- springmvc二十四:自定义国际化信息
springmvc中区域信息是由区域信息解析器得到的. private LocaleResolver localeResolver 默认会用一个AcceptHeaderLocaleResolver 自 ...
- 用计算机做表格的超链接,【答疑】用Excel表格如何添加一个链接?如何将一个超链接添加Excel表格里? - 视频教程线上学...
1.首先先打开表格,找到需要链接的关键字或者图片.选中表格中的文本框,右键选择最下面的超链接.之后它会跳出一个插入超链接的框框.上面有很多选项,有可以链接到同一个工作表的,也有可以链接到桌面或者其它地 ...
- ATI王国的缔造者何国源:国际化就像做比萨饼
如果考核结果让人满意的话,2004年的6月1日,ATI公司新的首席执行官戴夫·奥顿将结束他长达四年的考察期,正式走马上任,接替ATI的缔造者.现任董事长.首席执行官何国源.戴夫·奥顿并不是第一个被选择 ...
最新文章
- .net和java互操作
- Android之实现上下左右翻页效果
- Java构造和解析Json数据的两种方法详解一
- MySQL支持的分区类型
- play!framework框架概述
- awk命令扩展使用操作
- 如何理解Java的类变量、成员变量、常量、类属性、实例属性、字段(field)、成员方法、类方法
- 关于TCP协议的几个问题
- 周末ROS学习沙龙第四期——动作编程、dynamic_reconfigure动态参数更新、控制机器人移动、传感器数据处理
- 中国糖化酶行业市场供需与战略研究报告
- Java安全之数字证书
- 频繁分配释放内存导致的性能问题的分析
- mysql yacc 解析_yacc介绍
- 数学神童:让天赋更自由
- VBScript教程-第三章. 脚本的组成部分
- 【Python网络爬虫实战篇】关于在青果教务网络管理系统爬取学生成绩的分析及代码展示——以郑州轻工业大学(zzuli)教务网络管理系统为例
- 图像处理算法python_图像处理——饱和度调整算法(python语言)
- 线性代数学习笔记3-4:描述线性变换的空间压缩情况(列空间、秩)
- Win10怎么通过ip添加网络打印机?
- activiti——结束事件