1.定义资源文件
基名语言代码地区代码.properties
占位符:hi={0}\u4F60\u597D,从0开始。
2.JDK方式实现
ResourceBundle rb=ResourceBundle.getBundle("i18n", Locale.CHINA);
String str=rb.getString("hi");
System.out.println(str);//{0}你好
str=MessageFormat.format(str, "张三");
System.out.println(str);//张三你好
3.Jsp页面
添加标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
使用方式
<fmt:setLocale value="zh_CN" />
<!-- {0}你好 -->
<fmt:setBundle basename="i18n" var="i18n" scope="session"/>
<fmt:message bundle="${i18n }" key="hi" ></fmt:message>
<!-- 张三你好 -->
<fmt:bundle basename="i18n">
<fmt:message key="hi">
<fmt:param value="张三"></fmt:param>
</fmt:message>
</fmt:bundle>
4.springMVC实现
<!-- 读取资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"></property>
</bean>
<!-- 拦截locale变更请求 -->
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
</mvc:interceptors>
<!-- 把locale存放到session中 -->
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
在jsp页面调用
<fmt:message key="hi"></fmt:message>
访问请求,必须是request?locale=zh_CN格式