Struts1.x系列教程(16):使用LocaleAction類(lèi)實(shí)現(xiàn)國(guó)際化的Web程序
本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!
上一篇:Struts1.x系列教程(15):使用DownloadAction類(lèi)統(tǒng)計(jì)文件下載次數(shù)
我們?cè)?jīng)在《Struts1.x系列教程(13):國(guó)際化》一文中講過(guò)如何通過(guò)編程的方式實(shí)現(xiàn)多語(yǔ)言的Web頁(yè)面。在本文中,我們會(huì)介紹另外一種實(shí)現(xiàn)多語(yǔ)言Web頁(yè)面的方法。這種方式與《Struts1.x系列教程(13):國(guó)際化》一文中所介紹的方法的區(qū)別就是無(wú)需編寫(xiě)一行代碼就可以完成多語(yǔ)言的設(shè)置。
Struts提供了一個(gè)LocaleAction類(lèi)來(lái)做這個(gè)工作。LocaleAction類(lèi)是一個(gè)final動(dòng)作類(lèi),因此,LocaleAction類(lèi)不能被繼承。我們可按著如下兩步來(lái)使用LocaleAction類(lèi)進(jìn)行多語(yǔ)言設(shè)置:
1. 配置一個(gè)動(dòng)態(tài)Form(當(dāng)然,也可以使用ActionForm的子類(lèi),但為了方便,建議使用動(dòng)態(tài)Form)。這個(gè)動(dòng)態(tài)Form至少得有一個(gè)表示語(yǔ)言的language屬性(如zh、fr、en、jp等)。我們還可以加一個(gè)表示國(guó)家或地區(qū)的country屬性(US、CN、TW等)。
2. 使用<action>元素配置一個(gè)Struts動(dòng)作。這個(gè)Struts動(dòng)作的type屬性值是org.apache.struts.actions.LocaleAction。name屬性值就是在第1步配置的動(dòng)作Form的name屬性值。而且在<action>元素中必須有一個(gè)名為“success”的<forward>元素。如果語(yǔ)言設(shè)置成功,頁(yè)面就會(huì)forward到“success”所指向的頁(yè)面。
下面我們來(lái)舉一個(gè)使用LocaleAction動(dòng)作類(lèi)設(shè)置語(yǔ)言的例子,代碼如下:


<form-beans>


<form-bean name="EnglishForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="java.lang.String" initial="en" />
<form-property name="country" type="java.lang.String" initial="US" />
</form-bean>
<form-bean name="ChineseForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="java.lang.String" initial="zh" />
</form-bean>
</form-beans>


<action-mappings>


<action name = "EnglishForm" path="/en" type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/global.jsp" />
</action>
<action name="ChineseForm" path="/zh" type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/global.jsp" />
</action>
</action-mappings>


在上面的例子中,使用了在《Struts1.x系列教程(13):國(guó)際化》一文中建立的global.jsp文件。在啟動(dòng)Tomcat后,分別在IE中輸入如下的URL,可以得到中文和英文的Web頁(yè)面。
中文頁(yè)面:http://localhost:8080/samples/zh.do
英文頁(yè)面:http://localhost:8080/samples/en.do
《Android開(kāi)發(fā)完全講義(第2版)》(本書(shū)版權(quán)已輸出到臺(tái)灣)
http://product.dangdang.com/product.aspx?product_id=22741502
《Android高薪之路:Android程序員面試寶典 》http://book.360buy.com/10970314.html
新浪微博:http://t.sina.com.cn/androidguy 昵稱(chēng):李寧_Lining
posted on 2009-02-19 09:18 銀河使者 閱讀(2487) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): java 、web 、 原創(chuàng) 、struts1.x