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

测试结果

相关推荐
吃虫子的人1 小时前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
7哥♡ۣۖᝰꫛꫀꪝۣℋ1 小时前
微服务负载均衡
spring·微服务
figo10tf1 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva2 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
小程故事多_802 小时前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
冰暮流星2 小时前
sql语言之分组语句group by
java·数据库·sql
望舒5132 小时前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
黎雁·泠崖2 小时前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖2 小时前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言