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
如图:
-
在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>
-
测试结果