SpringMVC基于注解使用:国际化

news2024/9/20 20:23:11

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.coloradmin.cn/o/2115962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秒懂:进程优先级

1.概念 简单来说&#xff0c;进程优先级是对于资源访问顺序来说的&#xff0c;谁先访问资源&#xff0c;谁的优先级就高。 注意&#xff1a;这和权限概念不一样&#xff0c;权限是能不能访问。 2.情景引入 进程的运行&#xff0c;是在CPU上执行&#xff0c;每次执行只能执行CP…

JavaWeb【day09】--(Mybatis)

1. Mybatis基础操作 学习完mybatis入门后&#xff0c;我们继续学习mybatis基础操作。 1.1 需求 需求说明&#xff1a; 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求&#xff0c;完成员工管理的需求开发。 通过分析以上的页面原型和需求&#xff0c;我们确定了…

寒冬下,你不知道的赛道!

见字如面&#xff0c;技术人雄起&#xff01; 现在的环境怎样没有比技术人更有体会的了吧&#xff0c;但是我也不禁要问&#xff0c;还有那些赛道过的不错&#xff0c;还有谁在挣钱。因为能量是守恒的&#xff0c;西边不亮东边亮。真巧还真让我找到一些。 中药 2023年中国中药…

文件名管理器,一款免费的文件名管理工具,支持文件整理功能

文件名管理器是一款可以批量修改文件名的工具&#xff0c;但是相较于其他工具又有不同。除了批量重命名功能外&#xff0c;软件同时提供一些特色功能&#xff1a;把文件名插入到文本文件中、根据文件名写入音乐ID3信息&#xff0c;整理下载的视频资源、音乐分类整理等。软件提供…

大圣也得靠AI?深扒《黑神话:悟空》后的AI技术!

要说最近爆火刷屏的顶流热词&#xff0c;非《黑神话&#xff1a;悟空》莫属。 图片来源&#xff1a;新华社 《黑神话&#xff1a;悟空》游戏背景设定在一个宏大而神秘的神话宇宙中&#xff0c;融合了古代中国的神话传说与虚构的奇幻元素&#xff0c;构建了一个绚丽多彩的开放世…

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMes…

Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404

Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result22, HTTP code 404 在学习共享库时使用通过git拉取jenkinsfile时&#xff0c;报错在排查gitlab服务状态&#xff0c;网络通讯&#xff0c;防火墙规则以及Jenkins凭据均可以正常使用&#xff0c;最后发现的…

HTB-Tactics(Impacket工具集合 和 smb特殊共享)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解Tactics靶机 渗透过程 信息搜集 服务器开启了smb协议 连接smb服务器 Admin$ 对应的是 C:\Windows 目录,是 Windows 自动创建的共享,主要用于执行一些与系统管理相关的操作&#xff0c;例如远程文件管…

Spring Boot3.x 启动自动执行sql脚本

1 引言 某些项目在首次启动时&#xff0c;需要先手动创建数据库表&#xff0c;然后再手动写入初始数据才能正常使用。为了省去这个手动操作过程&#xff0c;我们可以使用Spring Boot启动时执行sql脚本的配置&#xff0c;全自动完成这个过程。 2 配置 具体配置如下&#xff1…

Redis访问工具

使用Redis存储缓存数据&#xff0c;如何通过Java去访问Redis&#xff1f; 防止后面看晕&#xff0c;先来张图。 1. Redis的客户端库 Redis的客户端库是Redis官方提供的&#xff0c;用于让Java等编程语言与Redis服务器进行通信的工具包。常见的Redis客户端库有多个&#xff0c…

828华为云征文|Flexus X实例C#/.Net Core 结合(git代码管理、docker自定义镜像)快速发布部署-让你的项目飞起来~

目录 前言 环境准备 购买服务器配置 项目部署 项目准备&#xff08;Dockerfile文件&#xff09; Git部署并拉取代码 安装Git 配置Git用户信息 SSH密钥 安装docker 添加Docker GPG密钥 添加Docker官方软件源 再次更新软件包列表 安装docker 项目运行 构建镜像 …

MySQL 的基础 一 (连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器)

目录 1 MySQL数据库的连接池 2 网络连接必须让线程来处理 3 SQL接口&#xff1a;负责处理接收到的SQL语句 4 查询解析器&#xff1a;让MySQL能看懂SQL语句 5 查询优化器&#xff1a;选择最优的查询路径 6 调用存储引擎接口&#xff0c;真正执行SQL语句 7 执行器&…

UE4_后期处理_后期处理材质及后期处理体积三—遮挡物体描边显示

一、效果&#xff1a; 在很多游戏中为了玩家能看到墙面背后是否有敌人&#xff0c;会给被遮挡的敌人增加描边显示&#xff0c;效果如下&#xff1a; 参考&#xff1a; https://zhuanlan.zhihu.com/p/81310476 https://zhuanlan.zhihu.com/p/358140547 二、所需知识 知识点…

数据结构与算法学习day20-二叉树的最大深度、最小深度、完全二叉树的节点个数、平衡二叉树、二叉树所有路径

一、二叉树的最大深度 1.题目 104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 2.思路 2.1递归法 二叉树节点的深度&#xff1a;指从根节点到该节点的最长简单路径边的条数或者节点数&#xff08;取决于深度从0开始还是从1开始&#xff09;二叉树节点的高度…

安卓玩机工具------vivo机型线刷救砖固件 下载工具操作步骤预览

vivo机型玩机 vivo机型虽然对于玩家来说相对可玩性较低。官方封闭bl锁。对于普通玩家来说只能 中规中矩使用机型。但目前有很多vivo机型通过第三方渠道已经可以解bl锁和root操作。但有时候玩机会遇到误操作或者其他系统性问题导致系统瘫痪不开机。 那么我们就需要具备一些救砖…

Linux网络——Socket编程函数

一.网络命令 1.ping ping命令用来检测网络是否连通&#xff0c;具体用法为&#xff1a; ping 任意网址 结果如下&#xff1a; 当出现上述字段时&#xff0c;证明网络是连通的&#xff0c;这里值得注意的是&#xff0c;ping命令执行之后会不断进行网络检测&#xff0c;不会停…

Linux——网络基础Socket编程

目录 一计算机网络背景 二协议 1初始协议 1.1协议分层 1.2OSI七层模型 1.3TCP/IP五层模型 2再始协议 2.1为什么要有TCP/IP协议 2.2TCP/IP与OS的关系 2.3所以什么是协议 三网络传输基本流程 1局域网&#xff08;以太网&#xff09;通信原理 1.1认识mac地址 2同…

【软件设计师真题】下午题第一大题---数据流图设计

解答数据流图的题目关键在于细心。 考试时一定要仔细阅读题目说明和给出的流程图。另外&#xff0c;解题时要懂得将说明和流程图进行对照&#xff0c;将父图和子图进行对照&#xff0c;切忌按照常识来猜测。同时应按照一定顺序考虑问题&#xff0c;以防遗漏&#xff0c;比如可以…

综合案例-数据可视化-地图

一、pyecharts—地图快速入门 假设我们要将6个地区的某种数量在地图上标注出来&#xff0c;首先导入pyecharts包内地图相关模块&#xff0c;然后准备地图数据&#xff08;数据类型是列表&#xff0c;列表的元素类型为元组&#xff09;&#xff0c;然后把准备好的数据添加进地图…

Java笔试面试题AI答之单元测试JUnit(1)

文章目录 1. 什么是JUnit&#xff1f;2. JUnit的重要特征是什么&#xff1f;3. 什么是单元测试案例&#xff1f;单元测试的特点&#xff1a;单元测试的好处&#xff1a;编写单元测试案例的步骤&#xff1a; 4. 何时在开发周期中编写单元测试&#xff1f;5. 为什么不直接使用Sys…