SpringMVC基于注解使用:国际化

devtools/2024/10/11 4:21:35/

01-国际化介绍

首先在bootstrap下载个页面

下载后把登录页面的代码粘上去

然后再登录页面代码上有些超链接需要再spring-mvc.xml里面配置下,登录页面才能正常显示

配置静态资源

国际化-根据浏览器语言国际化

现在是中文的情况,要改为英文

1.配置下属性资源文件

2.配置先springmvc

3.在jsp上调用显示

创建属性资源文件,需要保证和要国际化的文件名字一致

你想翻译几种语言就加几个国家

然后点击login再点击Resource Bundle,然后点击加号,创建文件

如果要翻译登录如下图写法

然后再spring-mvc配置文件中配置国际化属性资源文件

要调用配置好的资源文件实现翻译的话,需要先配置一个spring标签库里的一个taglib如下面第二行

然后再想翻译的标签上调用即可用<spring:message code=""></spring:message>

然后访问此地址

在浏览器切换语音为英语在重启下浏览器刷新下页面就能把中文翻译成英文了

总结根据浏览器语言国际化实现流程

国际化-超链接切换国际化

现在spring-mvc中配置SessionLocaleResolver

然后再登录页面上创建两个链接用来切换中文和英文

然后常见此方法就能实现中英文转换了,由于我们的语言格式是en_US,en_CN,所以language是en,coutry为US或者CN,@pathVariable作用

@PathVariable 映射 URL 绑定的占位符
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过

@PathVariable(“xxx”) 绑定到操作方法的入参中。

解释来自于@PathVariable注解的用法和作用(Demo详解)-CSDN博客

由于我们在spring-mvc.xml配置了SessionLocaleResolver,所以我们可以用自动注入的方式调用

首先配置spring-mvc.xml文件配置LocaleChangeInterceptor

然后在login.jsp中配置超链接,就完事了

第一种和第二种方法的区别在于,第一种方式,通过下图方法实现,第二种方法springmvc自带方法不用调用方法,直接就能用两个方法地址栏不同

第二种方法必须按下图拦截器那个超链接方式配置要有 ?=locale

国际化类型转换和验证失败的信息在表单上

首先导入依赖

创建User类用@NotEmpty,@Email,@NotEmpty注解

创建方法用来检验数据是否正确,bindingResult在实体类校验信息返回结果绑定。messageSource用来在点击登录按钮时显示输出错误信息如邮箱号和密码的里面的参数如下

*          String code 资源文件中的key
*          args   文本中的参数, 可以用占位符的方式在资源文件文本中设置参数占位符:{0} 方式
*          locale 当前本地化语言

然后配置form的检验库用来实现错误信息显示到页面上的

modelAttribute传的是javabean对象,此对象要在访问页面前添加可以用@RequestMapping也可以用@GetMappiing

<form:errors path是传入要在页面上显示的错误信息的属性

${errMsg}是点击提交按钮后如果信息错误在页面上输入的错误信息

怎么实现错误信息中英文转换呢需要再配置文件中一下面对应注解.对象.属性来配置


http://www.ppmy.cn/devtools/110074.html

相关文章

VScode与gitlab关联

要将VS Code与GitLab关联&#xff0c;您需要按照以下步骤进行操作&#xff1a; 在VS Code中安装Git插件。在VS Code左边的侧边栏中&#xff0c;点击扩展的图标&#xff08;四个正方形&#xff09;&#xff0c;然后搜索并安装"Git"插件。 在GitLab上创建一个新的空项…

谷粒商城の缓存篇

文章目录 前言一、本地缓存和分布式缓存1.本地缓存2.分布式缓存 二、项目实战1.配置Redis2.整合业务代码2.1 缓存击穿2.2 缓存雪崩2.3 缓存穿透2.4 业务代码1.0版2.5 分布式锁1.0版2.6 分布式锁2.0版2.7 Spring Cache及缓存一致性问题2.7.1 Spring Cache2.7.2 缓存一致性问题2.…

《人工智能安全治理框架》1.0版

人工智能是人类发展新领域&#xff0c;给世界带来巨大机遇&#xff0c;也带来各类风险挑战落实《全球人工智能治理倡议》&#xff0c;遵循“以人为本、智能向善”的发展方向&#xff0c;为推动政府、国际组织、企业、科研院所、民间机构和社会公众等各方&#xff0c;就人工智能…

16 Python的包以及import和from的使用

本篇是 Python 系列教程第 16 篇&#xff0c;更多内容敬请访问我的 Python 合集 1 创建包 创建文件夹&#xff1a;首先你需要创建一个文件夹作为包的容器。添加 __init__.py文件&#xff1a; 在这个文件夹内需要有一个特殊的文件叫做__init__.py。这个文件可以为空&#xff0c…

spring自动装配

spring自动装配 Spring 框架提供了一种机制&#xff0c;称为自动装配&#xff08;Autowired&#xff09;&#xff0c;它允许 Spring 容器自动将依赖注入到 Bean 中&#xff0c;而无需显式地使用 XML 配置文件或构造函数注入。自动装配简化了依赖注入的过程&#xff0c;使得代码…

C语言深入了解指针一(14)

文章目录 前言一、内存和地址内存究竟该如何理解编址 二、指针变量和地址取地址操作符&解引用操作符*指针变量的大小 总结 前言 终于来到指针啦&#xff01;如前篇末尾总结所说&#xff0c;这是你们马上要下大功夫的地方   但是&#xff0c;就像我们上初中的时候&#xf…

社会适老化建设,从一个 LLM 应用开始

引言 “变老很糟糕&#xff08;Getting old sucks&#xff09;”&#xff0c;这是电影《勇敢者的游戏》里的一句台词。变老会让人不再敏捷、健壮&#xff0c;会让人疲于跟上社会发展的脚步。据统计&#xff0c;截止 2023 年底&#xff0c;60 岁以上人口占全国总人口的 21.1%。…

【Redis】redis5种数据类型(string)

目录 redis5种数据类型和内部编码方式 redis单线程模型 string字符串类型相关命令 SET GET MSET MGET SETNX SETEX ​编辑PSETEX value值为整数&#xff0c;进行加减操作 INCR INCRBY DECR DECRBY INCRBYFLOAT APPEND GETRANGE SETRANGE STRLEN string的…