在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>

测试结果

相关推荐
MacroZheng5 分钟前
还在用WebSocket实现即时通讯?试试MQTT吧,真香!
java·spring boot·后端
稚辉君.MCA_P8_Java19 分钟前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
tanyongxi6620 分钟前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式
遗憾皆是温柔22 分钟前
24. 什么是不可变对象,好处是什么
java·开发语言·面试·学习方法
midsummer_woo28 分钟前
基于springboot的IT技术交流和分享平台的设计与实现(源码+论文)
java·spring boot·后端
Peter(阿斯拉)39 分钟前
[Java性能优化]_[时间优化]_[字符串拼接的多种方法性能分析]
java·性能优化·stringbuilder·string·字符串拼接·stringbuffer·时间优化
qq_三哥啊1 小时前
【IDEA】设置Debug调试时调试器不进入特定类(Spring框架、Mybatis框架)
spring·intellij-idea·mybatis
水痕012 小时前
gin结合minio来做文件存储
java·eureka·gin
别惹CC2 小时前
Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
人工智能·spring boot·spring
寒士obj2 小时前
Spring事物
java·spring