SpringMVC中的国际化实际上是对Java(i18n)的封装
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登陆</title>
</head>
<body>
<form action="login" method="post">
用户名: <input type="text" name="username" /> <br/>
密码: <input type="possword" name="password" /> <br/>
<input type="submit" value="登陆" />
</form>
</body>
</html>
登陆页面中有:登陆、用户名、密码,这些显示的中文
实现国际化就是要根据电脑的默认地区语言,改变页面显示的语言种类
查看java支持的语言和对应的缩写:
public class test {
public static void main(String[] args) {
//获取Java语言支持的所有国家和语言
Locale[] locales = Locale.getAvailableLocales();
for (Locale locale : locales) {
System.out.println(locale.getDisplayCountry()+"=="+locale.getCountry()+" "
+locale.getDisplayLanguage()+" "+locale.getLanguage());
}
}
}
将上述登陆页面实现国际化:
1.编写 .properties文件(键值对形式)
编写规范:文件名_国家语言缩写_国家缩写.properties
放置位置:项目的src目录下
例如:英语(英国)message_en_GB.properties,中文message_zh_ZN.properties
支持中文:message_zh_ZN.properties文件编写
username=\u7528\u6237\u540D
password=\u5BC6\u7801
login=\u767B\u9646
支持英语(英国):message_zh_ZN.properties文件编写
username=username
password=password
login=login
2.将登陆页面中显示的中文替换
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- 导入国际化标签 -->
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 用<spring:文件名 code=".properties文件的键" />替换中文 -->
<title><spring:message code="login" /></title>
</head>
<body>
<form action="login" method="post">
<spring:message code="username"/>: <input type="text" name="username" /> <br/>
<spring:message code="password"/>: <input type="possword" name="password" /> <br/>
<input type="submit" value="<spring:message code="login"/>" />
</form>
</body>
</html>
3.添加web.xml文件配置
<!-- 配置SpringMVC监听器-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springMVC-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
4.添加springMVC-servlet.xml文件配置
<!-- 配置国际化-->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 设置资源文件名 -->
<property name="basename" value="message"/>
<!-- 设置默认国家和语言环境 -->
<property name="useCodeAsDefaultMessage" value="true"/>
</bean>