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

测试结果

相关推荐
学Linux的语莫16 分钟前
机器学习数据处理
java·算法·机器学习
找不到、了17 分钟前
JVM的即时编译JIT的介绍
java·jvm
西瓜er1 小时前
JAVA:Spring Boot 集成 FFmpeg 实现多媒体处理
java·spring boot·ffmpeg
你总是一副不开心的样子(´ . .̫ .1 小时前
一、十天速通Java面试(第三天)
java·面试·职场和发展·java面试
迎風吹頭髮1 小时前
UNIX下C语言编程与实践63-UNIX 并发 Socket 编程:非阻塞套接字与轮询模型
java·c语言·unix
我是华为OD~HR~栗栗呀1 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试
Javatutouhouduan1 小时前
Java程序员如何深入学习JVM底层原理?
java·jvm·java面试·后端开发·java架构师·java程序员·互联网大厂
王嘉俊9252 小时前
设计模式--享元模式:优化内存使用的轻量级设计
java·设计模式·享元模式
2301_803554522 小时前
C++联合体(Union)详解:与结构体的区别、联系与深度解析
java·c++·算法
EnCi Zheng3 小时前
SpringBoot 配置文件完全指南-从入门到精通
java·spring boot·后端