默认情况下,SpringMVC 根据 Accept-Language 参数判断客户端的本地化类型

  1. 此时需要修改浏览器语言

超链接修改

  1. 当接受到请求时,SpringMVC 会在上下文中查找一个本地化解析器(LocalResolver),找到后使用它获取请求所对应的本地化类型信息
  2. SpringMVC 还允许装配一个动态更改本地化类型的拦截器,这样通过指定一个请求参数就可以控制单个请求的本地化类型

根据源码得出的流程路

本地化解析器和本地化拦截器

  1. AcceptHeaderLocaleResolver:根据 HTTP 请求头的Accept-Language 参数确定本地化类型,如果没有显式定义本地化解析器, SpringMVC 使用该解析器
  2. CookieLocaleResolver:根据指定的 Cookie 值确定本地化类型
  3. SessionLocaleResolver:根据 Session 中特定的属性确定本地化类型
  4. 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

需要:写入

  1. i18n_en_US.properties
  2. i18n_zh_CN.properties
  3. i18n.properties

springMVC 用超链接做国际化相关推荐

  1. 基于ng-alain做国际化

    基于ng-alain做国际化 1.下载需要下载的包 2.加载支持i18n模块 2-1. 修改app.module.ts 使用和修改默认语言 在header.component.html中引用Heade ...

  2. 超链接做按钮 禁止跳转 submit 或 location 导致 return false 不起作用

    起因: 页面中有个小功能,使用超链接做按钮用,按习惯方式写为 <a  href=""  οnclick="fun(); return false;"> ...

  3. springmvc 拦截器、国际化、验证

    2019独角兽企业重金招聘Python工程师标准>>> springmvc 拦截器 继承了HandlerIntercepter的类可以作为拦截器类: package com.yawn ...

  4. vue3.0 引入i18n 做国际化 - 做动态语言切换

    说明 适合 vue2.0版本的官方链接如下: ​​​​​​Vue I18nVue I18n 是 Vue.js 的国际化插件https://kazupon.github.io/vue-i18n/zh/ ...

  5. springmvc整合shiro做登陆权限控制,使用mongodb存储session

    公司模块分得比较细,一直给自己的模块做后台数据处理,对前端和登陆验证权限等操作遗忘很多,于是研究了一下公司目前的后台登录结构,用了shiro验证登录和授权,使用mongodb作为sessiondao实 ...

  6. 如何进行多语言发布,做国际化开发

    -  1 新建 String File 文件,命名为 Localizable.strings ,往里面添加你想要的语言支持. -  2 在不同语言的 Localizable.strings文件中添加对 ...

  7. SpringMVC之国际化

    一.国际化 国际化(internationalization:i18n):国际化是指程序在不做任何修改的情况下,就可以在不同的国家或地区和不同的语言环境下,按照当地的语言和格式习惯的显示字符.例如:对 ...

  8. springmvc二十四:自定义国际化信息

    springmvc中区域信息是由区域信息解析器得到的. private LocaleResolver localeResolver 默认会用一个AcceptHeaderLocaleResolver 自 ...

  9. 用计算机做表格的超链接,【答疑】用Excel表格如何添加一个链接?如何将一个超链接添加Excel表格里? - 视频教程线上学...

    1.首先先打开表格,找到需要链接的关键字或者图片.选中表格中的文本框,右键选择最下面的超链接.之后它会跳出一个插入超链接的框框.上面有很多选项,有可以链接到同一个工作表的,也有可以链接到桌面或者其它地 ...

  10. ATI王国的缔造者何国源:国际化就像做比萨饼

    如果考核结果让人满意的话,2004年的6月1日,ATI公司新的首席执行官戴夫·奥顿将结束他长达四年的考察期,正式走马上任,接替ATI的缔造者.现任董事长.首席执行官何国源.戴夫·奥顿并不是第一个被选择 ...

最新文章

  1. .net和java互操作
  2. Android之实现上下左右翻页效果
  3. Java构造和解析Json数据的两种方法详解一
  4. MySQL支持的分区类型
  5. play!framework框架概述
  6. awk命令扩展使用操作
  7. 如何理解Java的类变量、成员变量、常量、类属性、实例属性、字段(field)、成员方法、类方法
  8. 关于TCP协议的几个问题
  9. 周末ROS学习沙龙第四期——动作编程、dynamic_reconfigure动态参数更新、控制机器人移动、传感器数据处理
  10. 中国糖化酶行业市场供需与战略研究报告
  11. Java安全之数字证书
  12. 频繁分配释放内存导致的性能问题的分析
  13. mysql yacc 解析_yacc介绍
  14. 数学神童:让天赋更自由
  15. VBScript教程-第三章. 脚本的组成部分
  16. 【Python网络爬虫实战篇】关于在青果教务网络管理系统爬取学生成绩的分析及代码展示——以郑州轻工业大学(zzuli)教务网络管理系统为例
  17. 图像处理算法python_图像处理——饱和度调整算法(python语言)
  18. 线性代数学习笔记3-4:描述线性变换的空间压缩情况(列空间、秩)
  19. Win10怎么通过ip添加网络打印机?
  20. activiti——结束事件

热门文章

  1. Android 系统服务
  2. 基本矩阵运算法则之笔记
  3. 肇庆学院计算机论文选题,肇庆学院本科毕业论文(设计)写作与印制规范
  4. HCNE之RIP协议总结
  5. SpringBoot自定义数据源DruidDataSource
  6. 联想拯救者笔记本电脑亮度无法调节解决办法
  7. 【UOJ449】【集训队作业2018】喂鸽子(概率DP)
  8. 百度2017春招笔试真题编程题集合 [编程题]买帽子
  9. 看老虎和狮子谁是兽中之王(国外学者详细论证)
  10. css3动画2D|3D