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>