如何使用JSTL标签做页面资源国际化
1Web应用开发,如何使用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,其内容为
<%--strutstaglib--%>
<%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%>
<%@tagliburi="/WEB-INF/struts-html.tld"prefix="html"%>
<%@tagliburi="/WEB-INF/struts-logic.tld"prefix="logic"%>
<%@tagliburi="/WEB-INF/struts-nested.tld"prefix="nested"%>
<%@tagliburi="/WEB-INF/struts-template.tld"prefix="template"%>
<%@tagliburi="/WEB-INF/struts-tiles.tld"prefix="tiles"%>
<%--jstltaglib--%>
<%@taglibprefix="c"uri="/WEB-INF/c.tld"%>
<%@taglibprefix="fmt"uri="/WEB-INF/fmt.tld"%>
<%@taglibprefix="x"uri="/WEB-INF/x.tld"%>
<%@taglibprefix="sql"uri="/WEB-INF/sql.tld"%>
<%--setCommonMessageResource--%>
<fmt:setBundlebasename="resources.IAMResources"var="commonBundle"/>
<%--setUserSynMessageResource--%>
<fmt:setBundlebasename="resources.UserSynResources"var="userSynBundle"/>
步骤3:在需要国际化的JSP页面使用按如下编写
<%@pagecontentType="text/html;charset=utf-8"%>
<%@includefile="/includeTld.jsp"%>
<fmt:messagekey="test.common.message"bundle="${commonBundle}">
<fmt:paramvalue="liaowufeng"/>
</fmt:message>
<fmt:messagekey="test.usersyn.message"bundle="${userSynBundle}">
<fmt:paramvalue="liaowufeng"/>
</fmt:message>