ST03第三章-國際化_第1頁
ST03第三章-國際化_第2頁
ST03第三章-國際化_第3頁
ST03第三章-國際化_第4頁
ST03第三章-國際化_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第三章第三章-國際化國際化2/ 2上章回顧上章回顧詳細(xì)的介紹了Struts2處理結(jié)果的走向詳細(xì)的介紹了Struts2的模型驅(qū)動詳細(xì)的展示了Struts2的異常處理配置簡單介紹了如何提高Struts2性能3/ 3教學(xué)目標(biāo)教學(xué)目標(biāo)n 知道什么是軟件國際化n 知道Struts2如何對國際化支持n 數(shù)量掌握Struts2如何動態(tài)訪問國際化資源文件n 了解Eclipse編寫資源文件的插件 4/ 4正式課程標(biāo)題正式課程標(biāo)題1軟件的國際化軟件的國際化2 Struts2的國際化支持的國際化支持n配置資源文件nStruts2國際化應(yīng)用n使用占位符n包范圍資源文件nAction范圍資源文件n臨時資源文件n加載資源

2、文件的順序3動態(tài)訪問國際化資源文件動態(tài)訪問國際化資源文件4 Eclipse編寫資源文件的插編寫資源文件的插件件5/ 5三.國際化互聯(lián)網(wǎng)的出現(xiàn),給整個世界范圍內(nèi)的交流便快捷的互聯(lián)網(wǎng)的出現(xiàn),給整個世界范圍內(nèi)的交流便快捷的方式。而一個軟件或者系統(tǒng)要讓全世界用戶都能接收和使方式。而一個軟件或者系統(tǒng)要讓全世界用戶都能接收和使用成了廣大軟件公司夢寐以求的事情。由于世界各國和地用成了廣大軟件公司夢寐以求的事情。由于世界各國和地區(qū)使用的語言和其他表達(dá)形式的不同,制約了一個單一語區(qū)使用的語言和其他表達(dá)形式的不同,制約了一個單一語種界面的軟件的應(yīng)用,所以,軟件的國際化已經(jīng)成了開發(fā)種界面的軟件的應(yīng)用,所以,軟件的國

3、際化已經(jīng)成了開發(fā)技術(shù)中重要的一個部分。技術(shù)中重要的一個部分。6/ 6三.國際化 3.1 軟件的國際化軟件的國際化3.2 Struts2的國際化支持的國際化支持3.3 動態(tài)訪問國際化資源文件動態(tài)訪問國際化資源文件3.4 Eclipse編寫資源文件的插件編寫資源文件的插件7/ 73.1 軟件的國際化軟件的國際化國際化英文單詞為Internationalization,該單詞比較長,不方便記錄,由于在I和n之間有18個字母,所以也稱為I18n,這樣使用起來比較簡短方便。國際化軟件是指軟件能夠運行于不同的區(qū)域和語言環(huán)境中,根據(jù)用戶所處的區(qū)域和語言來修飾軟件界面和顯示信息,使用戶能夠用熟悉的界面環(huán)境來使

4、用該軟件。本地化英文單詞為Localization,可以簡短標(biāo)記為L10N,是軟件國際化的進一步深入,就是調(diào)整軟件以適應(yīng)于特定區(qū)域和語言環(huán)境的一個過程。隨著Web技術(shù)的發(fā)展,越來越多的應(yīng)用采用了B/S網(wǎng)站,用戶使用瀏覽器來完成工作,這種應(yīng)用一般提供了自動國際化功能。8/ 83.2 Struts2的國際化支持的國際化支持Struts2的國際化是建立在Java國際化的基礎(chǔ)之上的,是使用資源包的方式,通過getBundle()方法來尋找指定Locale相關(guān)聯(lián)的資源包,再從資源包文件中查找指定Key所對應(yīng)的國際化資源信息。Struts2框架的底層國際化與Java國際化是一致的,作為一個良好的MVC框架

5、,Struts2將Java的國際化功能進行了封裝和簡化,開發(fā)者使用起來會更加簡單快捷。9/ 93.2 Struts2的國際化支持的國際化支持1 配置資源文件2 Struts2國際化應(yīng)用3 使用占位符4 包范圍資源文件5 Action范圍資源文件6 臨時資源文件7 加載資源文件的順序10/ 101 配置資源文件Struts2強調(diào)的是各個組件之間的松散耦合,而各個組件之間都是通過配置文件來實現(xiàn)相互關(guān)聯(lián)和交互的。Struts2框架的國際化也是如此。Struts2框架提供了多種加載國際化資源文件的方式,其中最常用的就是通過加載資源文件的方式來實現(xiàn)國際化。Struts2框架加載資源文件一般都是通過常量設(shè)

6、置來完成的。Struts2框架的默認(rèn)配置文件struts-deault.xml中已經(jīng)定義了國際化攔截器。國際化攔截器在Action執(zhí)行處理之前執(zhí)行,該攔截器掌管著當(dāng)前用戶請求Session中的Locale相關(guān)數(shù)據(jù)。該攔截器會在用戶參數(shù)中查找一個特殊的參數(shù)值,使用該參數(shù)來設(shè)置當(dāng)前的Locale信息,這就意味著開發(fā)者可以動態(tài)地修改當(dāng)前Session中的Locale值,這在開發(fā)國際化應(yīng)用中非常有意思,開發(fā)者可以在處理用戶請求過程中任何一個節(jié)點來改變Locale值,這樣就能夠動態(tài)改變程序的語言和區(qū)域的相關(guān)信息,實現(xiàn)完善的國際化功能。11/ 111 配置資源文件如果開發(fā)者需要在項目應(yīng)用中提供國際化功能,

7、則需要指定struts.custom.i18n.resources常量值。 配置struts.custom.i18n.resources常量可以在屬性文件perties中定義,也可以在配置文件struts.xml或者web.xml文件中定義。配置好Struts2框架的國際化資源文件的basename后,開發(fā)者可以按照basename_language_perties的命名規(guī)則來建立不同語言的資源文件,當(dāng)然,如果是非西歐字符集,則需要使用native2ascii轉(zhuǎn)換工具轉(zhuǎn)換為Unicode編碼即可。12/ 122 Struts2國際化應(yīng)用建立英文資源文件

8、globalMessages_en_US.propertiesuserName=userNamepassword=passwordhelloWorld=helloWord 0commit=commit13/ 132 Struts2國際化應(yīng)用建立中文資源文件globalMessages_zh_CN.propertiesuserName=u7528u6237u540Dpassword=u5BC6u7801helloWorld=u4F60u597D 0commit=u63D0u4EA4該文件使用前,必須使用native2ascii轉(zhuǎn)換工具轉(zhuǎn)換。native2ascii my.txt globalMe

9、ssages_zh_CN.properties14/ 142 Struts2國際化應(yīng)用建立輸入界面reg.jsp 注冊頁面 中國 15/ 152 Struts2國際化應(yīng)用注冊成功頁面success.jsp 成功頁面 16/ 162 Struts2國際化應(yīng)用package action;import com.opensymphony.xwork2.ActionSupport;public class Reg extends ActionSupport private static final long serialVersionUID = 1L;private String userName;p

10、rivate String password;Overridepublic String execute() throws Exception System.out.println(!);System.out.println(getText(helloWorld,new StringuserName);return result1;17/ 172 Struts2國際化應(yīng)用public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;pub

11、lic String getPassword() return password;public void setPassword(String password) this.password = password;Struts2提供了一個getText()方法,該方法根據(jù)資源文件中的key值來返回一個國際化資源信息,如果找不到則為null。18/ 182 Struts2國際化應(yīng)用 success.jsp19/ 193 使用占位符在JSP視圖中輸出支持占位符的國際化資源信息需要使用標(biāo)簽庫,可以在標(biāo)簽中定義多個子元素,來分別對應(yīng)標(biāo)簽中應(yīng)用的國際化資源中的占位符。例如,有一個占位符0,則需要定義一個

12、子元素,在顯示給用戶的界面中, 子元素的數(shù)值將填充到0;如果有兩個占位符0,1,則需要定義兩個子元素,如果只定義一個,那么輸出時1將直接輸出到用戶視圖。在Action中使用國際化資源占位符,同前面示例一樣,仍然使用getText()方法。 getText(String aTextName,List args) getText(String aTextName,String args)方法用于填充占位符20/ 203.3 動態(tài)訪問國際化資源文件動態(tài)訪問國際化資源文件通過編寫國際化示例會發(fā)現(xiàn),如果想在視圖中更換國際化語言信息,則需要修改操作系統(tǒng)中“語言與區(qū)域選項”中的相關(guān)配置。Struts2可以不

13、用修改操作系統(tǒng)相關(guān)配置,就可以切換所顯示的國際化資源。國際化攔截器在執(zhí)行Action之前,會在用戶請求中查找名為request_local的參數(shù),如果該參數(shù)存在,攔截器將讀取該值,轉(zhuǎn)換為local對象,并將其設(shè)置為Action所使用的local。21/ 213.4 Eclipse編寫資源文件的插件編寫資源文件的插件eclipse有一個插件properties edit,在編寫一些簡體中文,繁體中文等Unicode編碼的文本時,不必使用native2ascii進行編碼轉(zhuǎn)換。22/ 22小結(jié)介紹了什么是軟件國際化詳細(xì)闡述Struts2如何對國際化支持簡單介紹了Struts2如何動態(tài)訪問國際化資源文件需要了解Eclipse編寫資源文件的插件23/ 23課堂作業(yè)課堂作業(yè)1.Struts2的國際化支持配置2.動態(tài)訪問國際化資源文件配置3.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論