日期:2014-05-16  浏览次数:20464 次

如何使用JSTL标签做页面资源国际化
 1 Web应用开发,如何使用JSTL 标签做页面资源国际化需解决问题描述:1 项目中的文本要实现国际化
  
  2 希望达到按模块分开编写国际化资源文件解决方案:
  
  JSTL 标签支持国际化的标签为
  <fmt:bundle> <fmt:message> <fmt:setBundle><fmt:param>
  <fmt:bundle> 功能:指定消息资源使用的文件
  <fmt:message>功能:显示消息资源文件中指定key的消息,支持带参数消息
  <fmt:param> 功能:给带参数的消息置参数值
  <fmt:setBundle> 功能:设置消息资源文件
  
  一个支持按模块的多资源文件的国际化例子
  
  步骤1 :定义两个资源文件,分别为
  resources\IAMResources_zh_CN.properties, 内容为
  # 测试使用
  test.common.message = test.common.message1 {0}
  
  resources\UserSynResources_zh_CN.properties 内容为
  # 测试使用
  test.usersyn.message = test.usersyn.message1 {0}
  
  步骤2:定义一个公用的JSP文件 includeTld.jsp,其内容为
  <%-- struts taglib --%>
  <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
  <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
  <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
  <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
  <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
  <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
  <%-- jstl taglib --%>
  <%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
  <%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld" %>
  <%@ taglib prefix="x" uri="/WEB-INF/x.tld" %>
  <%@ taglib prefix="sql" uri="/WEB-INF/sql.tld" %>
  
  <%-- set Common MessageResource --%>
  <fmt:setBundle basename="resources.IAMResources" var="commonBundle"/>
  <%-- set UserSyn MessageResource --%>
  <fmt:setBundle basename="resources.UserSynResources" var="userSynBundle"/>
  
  步骤3 : 在需要国际化的JSP页面使用按如下编写
  <%@page contentType="text/html; charset=utf-8"%>
  <%@include file="/includeTld.jsp"%>
  
  <fmt:message key="test.common.message" bundle="${commonBundle}">
  <fmt:param value="liaowufeng"/>
  </fmt:message>
  
  <fmt:message key="test.usersyn.message" bundle="${userSynBundle}">
  <fmt:param value="liaowufeng"/>
  </fmt:message>

文章转载自网管之家:http://www.bitscn.com/plus/view.php?aid=22681