在SpringMVC中用fmt标签实现国际化/多语言

SpringMVC中用fmt标签实现国际化主要解决界面的多语言化,ftm标签会根据浏览器的语言值来先择对应的文件配置,如中文简体的浏览器值是zh_CN,那么ftm标签就会用以zh_CN.properties结尾的配置文件中的key来取值,从而实现自多语言的自动切换,配置应用如下:

引用JSTL相关依赖包

复制代码
   <dependency>
   			<groupId>javax.servlet</groupId>
   			<artifactId>javax.servlet-api</artifactId>
   			<version>3.0.1</version>
   			<scope>provided</scope>
   </dependency>
   <!-- jstl相关jar包 -->
   		<dependency>
   			<groupId>javax.servlet</groupId>
   			<artifactId>jstl</artifactId>
   			<version>1.2</version>
   		</dependency>

   		<dependency>
   			<groupId>taglibs</groupId>
   			<artifactId>standard</artifactId>
   			<version>1.1.2</version>
   		</dependency>

在Springmvc配置文件中国际化bean

复制代码
   	<bean id="messageSource"
   		class="org.springframework.context.support.ResourceBundleMessageSource">
   		<!-- 表示语言配置文件是以language开头的文件,(如果是简体中文语言的浏览器则会读取language_zh_CN.properties文件) -->
   		<property name="basename" value="language" />
   	</bean>

创建language.properties文件,并同时创建对应语言语文件,如简体中文则为zh_CN.properties结尾,美国英文则为 en_US.properties结尾

复制代码
   -----language.properties------

   language.username=username
   language.password=password


   -----language_en_US.properties-----
   language.username=Username
   language.password=Password


   ------language_zh_CN.properties-----

   language.username=\u7528\u6237\u540D
   language.password=\u5BC6\u7801

如图:
4.

在JSP页面中使用

复制代码
   <%@ page language="java" contentType="text/html; charset=utf-8"
       pageEncoding="utf-8"%>
      <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="utf-8">
   <title>国际化语言</title>
   </head>
   <body>
   <form action="${pageContext.request.contextPath}/testConsumes" method="post">
   <fmt:message key="language.username"></fmt:message><input  type="text" name="username" value="">
   <fmt:message key="language.password"></fmt:message><input  type="text" name="password" value="">
   <input type="submit" value="提交">
   </form>
   当前语言: ${pageContext.response.locale}
   </body>
   </html>

测试结果

相关推荐
长谷深风1115 小时前
Agent 跑了 30 分钟宕机,如何从断点继续?
java·大数据·人工智能·ai·大模型·memory·aiagent
慧都小妮子5 小时前
DevExpress Java 文档处理 API 免费 CTP:PDF、PowerPoint、条码与跨平台部署
java·pdf·powerpoint·devexpress·文档处理·条码生成
泡海椒5 小时前
告别反射低效:JQuick-Java ASM动态调用链性能优化实战
java·python·性能优化
土司大王5 小时前
LeetCode 17 电话号码的字母组合:Java 回溯模板、多叉决策树与复杂度分析
java·leetcode·决策树
CoderYanger5 小时前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
Nuanyt5 小时前
JUC常见核心知识梳理02 AQS ReentrantLock CAS 原子类 线程池
java
CodeStats5 小时前
【Java数据类型】Java底层数据类型原理(上):基本类型、转换与封装核心
java·数据类型·string·封装·转换
陈皮波比茶5 小时前
SpringCloudAlibaba
java·spring cloud·微服务
重生之小比特5 小时前
【Java SE】程序逻辑控制
java·开发语言·python
find1star5 小时前
LeetCode 25:K 个一组翻转链表
java·数据结构·算法·leetcode·链表·职场和发展·动态规划