隨筆 - 312, 文章 - 14, 評(píng)論 - 1393, 引用 - 0
          數(shù)據(jù)加載中……

          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、fren、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)作Formname屬性值。而且在<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

          下一篇:Struts1.x系列教程(17):使用IncludeAction和ForwardAction類(lèi)包含和轉(zhuǎn)入Web資源



          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): javaweb 原創(chuàng)struts1.x

          主站蜘蛛池模板: 漯河市| 腾冲县| 卓尼县| 库尔勒市| 玉山县| 阳江市| 临朐县| 故城县| 清流县| 达州市| 通河县| 宁津县| 宜都市| 潼关县| 台北市| 尖扎县| 辽中县| 灵石县| 巫山县| 乐山市| 上栗县| 清水河县| 津南区| 普格县| 新干县| 务川| 老河口市| 周宁县| 蒙自县| 长兴县| 丁青县| 如皋市| 乐昌市| 金塔县| 朝阳县| 光山县| 平塘县| 雅安市| 茶陵县| 柘城县| 威海市|