如何使用JSTL标签做页面资源国际化
2024-07-21 02:15:03
供稿:网友
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>