{{{
#!html
JSP 支援多國語系
Tomcat + JSP + i18n + taglib
}}}
[[PageOutline]]
= 環境 =
* sun java jdk 6
* tomcat 6
= 範例 =
== 說明 ==
* 參數說明
|| $tomcat || 代表你放tomcat的路徑。如 /opt/tomcat/ ||
|| $pj || 代表你的project 名稱。如:i18n ||
|| $worspace || 代表你Eclipse該專案所放置的路徑。如:/home/myname/workspace/ ||
* 以下提供兩種實做的方法,第一種是直接放到 tomcat 下的目錄下;第二種方法用Eclipse 輔助編輯與即時編譯
== 內容 ==
* web.xml (可參考附件)
|| Tomcat || $tomcat/webapps/$pj/WEB-INF/web.xml ||
|| Eclipse || $worspace/$pj/WebContent/WEB-INF/web.xml ||
{{{
#!xml
i18n
index.html
index.htm
index.jsp
http://jakarta.apache.org/taglibs/i18n-1.0
/WEB-INF/taglibs-i18n.tld
}}}
* index.jsp
|| Tomcat || $tomcat/webapps/$pj/index.jsp ||
|| Eclipse || $worspace/$pj/WebContent/index.jsp ||
{{{
#!java
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
import="java.io.*,java.text.*,java.util.*,javax.servlet.jsp.*" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n-1.0" prefix="i18n" %>
Examples of I18N Custom Tag Library
Tag Usage
This page displays all key/value pairs in the bundle.
locale = <%= pageContext.getResponse().getLocale() %>
charset = <%= pageContext.getResponse().getCharacterEncoding() %>
WebApp translations
<%
Locale locale = new Locale("zh","");
%>
}}}
* taglibs-i18n.tld
|| Tomcat || $tomcat/webapps/$pj/WEB-INF/taglibs-i18n.tld ||
|| Eclipse || $worspace/$pj/WebContent/WEB-INF/taglibs-i18n.tld ||
[http://trac.nchc.org.tw/cloud/raw-attachment/wiki/waue/2010/0805/taglibs-i18n.tld (可下載附件)]
* taglibs-i18n.jar
|| Tomcat || $tomcat/webapps/$pj/WEB-INF/lib/taglibs-i18n.jar ||
|| Eclipse || $worspace/$pj/WebContent/WEB-INF/lib/taglibs-i18n.jar ||
[http://trac.nchc.org.tw/cloud/raw-attachment/wiki/waue/2010/0805/taglibs-i18n.jar (可下載附件)]
* i18n_en.properties
|| Tomcat || $tomcat/webapps/$pj/WEB-INF/classes/org/mytest/i18n_en.properties ||
|| Eclipse || $worspace/$pj/src/org/mytest ||
{{{
#!text
test1 = Hello world
test2 = Now you can let jsp i18n using i18n taglib!
}}}
* i18n_zh_TW.properties
* utf8 轉碼工具 [http://www.tool.la/UTF-8/]
|| Tomcat || $tomcat/webapps/$pj/WEB-INF/classes/org/mytest/i18n_zh_TW.properties ||
|| Eclipse || $worspace/$pj/src/org/mytest ||
{{{
#!text
test1 = 你好!世界
test2 = 你現在已經能讓你的JSP使用I18N的taglib跟世界接軌囉!
}}}
== 結果 ==
http://localhost:8080/$pj/index.jsp
{{{
#!html
Examples of I18N Custom Tag Library
Tag Usage
This page displays all key/value pairs in the bundle.
locale = zh_TW
charset = UTF-8
WebApp translations
1 | 你好!世界 |
2 | 你現在已經能讓你的JSP使用I18N的taglib跟世界接軌囉! |
}}}