struts是一個MVC框架
像Java和其他Java框架一樣
struts可以輕松實現國際化
於是根據網上的資料
做了一個嘗試
因為第一次做多語言程序
還是拐了很多彎路
但所幸
經過不斷的嘗試
終於成功的實現多語言版本的簡單頁面
因為程序非常簡單
所以在整個嘗試過程中
全部使用手工編碼
沒有使用任何輔助工具
建立服務器 我使用Tomcat
作為測試環境
建立過程(略);
下載struts 可以到下載
下載後解壓
把其中的
war文件拷貝到Tomcat的webapps目錄下
啟動Tomcat
如//localhost:
/struts
example/ 運行沒有問題
說明環境建立成功
這些
war文件在Tomcat啟動後會自動展開成文件
裡面有源代碼
可以作為源碼研究
建立工程 在webapps目錄下建立一個international文件夾
再在international目錄下建立WEB
INF文件夾和WEB
INF/classes文件夾
這些都是一個JSP工程必須的
加了struts的類 在WEB
INF目錄下建立一個lib子目錄
把struts
example\WEB
INF\lib目錄下將所有
jar文件拷貝到該目錄下
這些文件是struts的控制類庫和標簽類庫等
commons
beanutils
jar
commons
collections
jar
commons
digester
jar
commons
fileupload
jar
commons
lang
jar
commons
logging
jar
commons
validator
jar
jakarta
oro
jar
struts
jar
加入struts標簽定義文件 從struts
example\WEB
INF目錄下
把
TLD文件拷貝到international的WEB
INF目錄下
這些文件標簽庫的定義文件
struts
bean
tld
struts
html
tld
struts
logic
tld
struts
nested
tld
struts
template
tld
struts
tiles
tld
建立struts的config文件 建立struts的config文件的struts
config
xml
內容如下
<?xml version=
encoding=
ISO
?>
<!DOCTYPE struts
config PUBLIC
//Apache Software Foundation//DTD Struts Configuration
//EN
config_
_
dtd
;>
<struts
config>
<message
resources parameter=
resources
application
/>
</struts
config>
message
resources標簽是指message資源的文件
就是我們存放我們的多種語言的提示信息的文件
resources
application表是classes目錄下的resources目錄用來存放資源文件
默認語言文件名為application
properties
中文為application_zh_CN
properties
其他語言類似
建立webxml文件 <?xml version=
encoding=
ISO
?>
<!DOCTYPE web
app
PUBLIC
//Sun Microsystems
Inc
//DTD Web Application
//EN
app_
_
dtd
;>
<web
app>
<display
name>test international</display
name>
<servlet>
<servlet
name>action</servlet
name>
<servlet
class>org
apache
struts
action
ActionServlet</servlet
class>
<init
param>
<param
name>config</param
name>
<param
value>/WEB
INF/struts
config
xml</param
value>
</init
param>
<init
param>
<param
name>debug</param
name>
<param
value>
</param
value>
</init
param>
<init
param>
<param
name>detail</param
name>
<param
value>
</param
value>
</init
param>
<load
on
startup>
</load
on
startup>
</servlet>
<servlet
mapping>
<servlet
name>action</servlet
name>
<url
pattern>*
do</url
pattern>
</servlet
mapping>
<welcome
file
list>
<welcome
file>index
jsp</welcome
file>
</welcome
file
list>
<taglib>
<taglib
uri>/tags/struts
bean</taglib
uri>
<taglib
location>/WEB
INF/struts
bean
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/tags/struts
html</taglib
uri>
<taglib
location>/WEB
INF/struts
html
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/tags/struts
logic</taglib
uri>
<taglib
location>/WEB
INF/struts
logic
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/tags/struts
nested</taglib
uri>
<taglib
location>/WEB
INF/struts
nested
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/tags/struts
tiles</taglib
uri>
<taglib
location>/WEB
INF/struts
tiles
tld</taglib
location>
</taglib>
</web
app>
上面的web
xml定義了struts的控制類
config文件和標簽
因為比較簡單
所以不做解釋
建立資源文件 在classes目錄下
建立一個resources目錄
用來存放資源文件
先建立默認的資源文件application
properties和英文(美國)的資源文件application_en_US
properties
內容為
#
international test
test
title=international application test
test
body=This is a international application test
先建立這兩個文件
中文的等下一步建立
建立jsp文件 在international目錄下
建立index
jsp文件
內容為
<%@ page contentType=
text/html;charset=UTF
%>
<%@ taglib uri=
/tags/struts
bean
prefix=
bean
%>
<%@ taglib uri=
/tags/struts
html
prefix=
html
%>
<%@ taglib uri=
/tags/struts
logic
prefix=
logic
%>
<html:html locale=
true
>
<head>
<title><bean:message key=
test
title
/></title>
<html:base/>
</head>
<body bgcolor=
white
>
<p><bean:message key=
test
body
/></p>
</body>
</html:html>
在這裡<html:html locale=
true
>表示使用浏覽器默認的地區和語言
<bean:message key=
test
title
/>的意思是取對應資源文件裡的test
title項目的內容
啟動Tomcat
在浏覽器裡輸//localhost:
/international/
查看效果
如果浏覽器標題顯示international application test
頁面裡顯示This is a international application test則說明你的程序成功了
下面只要增加資源文件
你就可以在多種語言的系統裡看了
建立簡體中文的資源文件 在resources目錄下建立一個application_cn
properties
輸入內容
#
international test
test
title=國際化程序測試
test
body=這是一個國際化程序測試例子
因為java的國際化是通過unicode碼來實現
所以要把代碼轉為unicode碼
在Dos下
轉到resources目錄
執行
native
ascii application_cn
properties application_zh_CN
properties
轉換後的application_zh_CN
properties文件內容為
#
international test
test
title=\u
fd\u
\u
\u
a
b\u
e
f\u
d
b\u
bd
test
body=\u
fd
\u
f\u
e
\u
e
a\u
fd\u
\u
\u
a
b\u
e
f\u
d
b\u
bd
\u
f
b\u
b
這就是上面的中文的unicode碼
重新啟動Tomcat
在浏覽器裡輸//localhost:
/international/
你看
標題和內容是不是變成中文了
建立繁體中文的資源文件 在resources目錄下建立一個application_tw
properties
輸入內容
#
international test
test
title=???H化程式?y??
test
body=?@是一?????H化程式?y??例子
因為java的國際化是通過unicode碼來實現
所以要把代碼轉為unicode碼
在Dos下
轉到resources目錄
執行
native
ascii application_tw
properties application_zh_TW
properties
轉換後的application_zh_TW
properties文件內容為
#
international test
test
title=\u
b\u
b\u
\u
a
b\u
f
f\u
e
c\u
a
test
body=\u
\u
f\u
e
\u
b\u
b\u
b\u
\u
a
b\u
f
f\u
e
c\u
a
\u
f
b\u
b
這就是上面的繁體中文的unicode碼
測試多語言 打開IE的
工具
>
Internet選項
菜單
常規
選項卡
點擊其中的
語言
按鈕
添加
英語(美國)
[en
us]
語
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28365.html