最近做项目用到了国际化,这里总结一下,如果没有使用struts2项目,参考我下面的配置就可以了,如果使用了struts2,参考我另外一篇文章Struts2国际化。
1、配置文件spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 配置扫描的包 -->
<context:component-scan base-package="com.figo.learn.*" />
<!-- 注册HandlerMapper、HandlerAdapter两个映射类 -->
<mvc:annotation-driven />
<!-- 访问静态资源 -->
<mvc:default-servlet-handler />
<!-- 视图解析器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/view/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 表示多语言配置文件在根路径下,以language开头的文件-->
<property name="basename" value="classpath:learn"/>
<property name="useCodeAsDefaultMessage" value="true"/>
</bean>
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptors>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
</beans>
2、properties文件配置(编译后在classes文件夹下)
这里测试我只配置了中文和英文两种,需要其他语言的,自行配置
learn_en_US.properties
fc=BY PASS
learn_zh_CN.properties
fc=\u5916\u5361\u652F\u4ED8
learn.properties
fc=BY PASS
3、页面配置
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><spring:message code="fc"/></title>
<script language="javascript">
function changeLan(lang)
{
if(lang=="en"){
window.location.href="?lang=en_US";
}else{
window.location.href="?lang=zh_CN";
}
}
</script>
</head>
<body>
<div class="OrderInfo">
<div class="title">ORDER INFO</div>
<div class="title">
<spring:message code="fc"/>
</div>
</div>
<div class="language">
<%
String lang=request.getParameter("lang")==null?"en_US":request.getParameter("lang");
if("zh_CN".equals(lang))
{
%>
<img src="../swiperpay/img/zh_CN.png" id="imgLan" onclick="changeLan('en')">
<% }else
{%>
<img src="../swiperpay/img/en_US.png" id="imgLan" onclick="changeLan('zh')">
<%} %>
</div>
</body>
</html>