wiki:waue/2010/0805

Version 3 (modified by waue, 14 years ago) (diff)

--

JSP 支援多國語系
Tomcat + JSP + i18n + taglib

環境

  • sun java jdk 6
  • tomcat 6

使用 Eclipse 開發

web.xml (可參考附件)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>i18n</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
<taglib>
  <taglib-uri>http://jakarta.apache.org/taglibs/i18n-1.0</taglib-uri>
  <taglib-location>/WEB-INF/taglibs-i18n.tld</taglib-location>
</taglib>

</web-app>

index.jsp

<%@ 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" %>



<HTML>
<HEAD>
  <TITLE>Examples of I18N Custom Tag Library 
  Tag Usage</TITLE>
</HEAD>
<BODY>

This page displays all key/value pairs in the bundle.

locale = <b><%= pageContext.getResponse().getLocale() %></b><br>
charset = <b><%= pageContext.getResponse().getCharacterEncoding() %></b><br>
<H2>WebApp translations</H2>
<%
Locale locale = new Locale("zh",""); 
%>
<i18n:bundle baseName="org.mytest.i18n" locale="<%=locale%>" id="bundle"/>
<TABLE>
 <TR> <TD>1</TD><TD> <i18n:message key="test1"/></TD> </TR>
 <TR> <TD>2</TD><TD> <i18n:message key="test2"/></TD> </TR>
</TABLE>


</BODY>
</HTML>

taglibs-i18n.tld (可下載附件)

taglibs-i18n.jar (可下載附件)

i18n_en.properties

test1 = Hello world
test2 = Now you can let jsp i18n using i18n taglib!

i18n_zh_TW.properties

test1 = &#x4F60;&#x597D;&#xFF01;&#x4E16;&#x754C;
test2 = &#x4F60;&#x73FE;&#x5728;&#x5DF2;&#x7D93;&#x80FD;&#x8B93;&#x4F60;&#x7684;JSP&#x4F7F;&#x7528;I18N&#x7684;taglib&#x8DDF;&#x4E16;&#x754C;&#x63A5;&#x8ECC;&#x56C9;&#xFF01;

Attachments (2)

Download all attachments as: .zip