亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Struts初級教程(4)-對國際化的支持

2024-09-05 00:17:22
字體:
來源:轉載
供稿:網友
隨著全球經濟的在體化趨勢,網頁設計開發者應該開發出支持多國語言、國家化的web應用程序。就是一個web應用程序在運行時能夠根據客戶端請求所來自的國家和語言的不同顯示不同的用戶界面。這樣當需要在應用程序中添加對一種新的語言的支持時,不需要對已有的軟件返工,無需修改應用程序的程序代碼。I18N作為“國際化”的簡稱,其來源是明文單詞“internationlization”的首末字符“i”和“n”之間的字符數為18。

Struts對國家化的支持
在Struts框架中進行應用程序的國際化,支持重點在于應用程序的文本和圖像表示。最重要的工作就是準備Resurce Bundle 資源包。事實上,準備資源包的過程,就是把對應不同語言的用戶所涉及的文本和圖片保存在多個文本文件中,客戶端根據不同的環境需要進行更換。這些文件被稱為“屬性文件”,所有屬性文件合在一起被稱為資源包(Resource Bundle)。
Struts建立于Java平臺之上,很容易建立國際化和本地化的應用程序。在這里你要熟悉的關鍵概念是:
1)   Locale – 基礎的支持國際化的java類是java.util.Locale。每個Locale代表一個特別的國家和語言的選擇(加上一個可選的語言變量),以及一套格式假定,例如數字和日期等等。
2)   ResourceBundle – java.util.ResourceBundle類提供支持多種語言消息的基本工具。查看文檔中關于ResourceBundle類以及你的JDK版本的文檔包中關于國際化的更多內容。
3)   PropertyResourceBundle – 一個ResourceBundle類的標準實現允許你使用與初始化properties文件同樣的鍵/值的語法來定義資源。這對于使用為用于一個web應用程序的消息準備資源包是非常方便的,因為這寫消息通常都是面向文本的。
4)   MessageFormat – java.text.MessageFormat類允許你使用運行時的指定的參數替換一個消息字符串中的一部分(在這種情況下,是一個從一個資源包得到的消息)。這在你創建一個句子的場合中是有用的,但是詞會以不同的語言安照不同的順序出現。消息中的占位符,字符串{0}用第一個運行時參數替換,{1}用第二個運行時參數替換,以此類推。
5)   MessageResources – Struts的類org.apache.struts.util.MessageResources使你能夠將一套資源包視做一個數據庫,并且允許你為一個特定的Locale(通常是與當前用戶相對應)請求一個特定的消息,而不是為服務器運行在其中的缺省的Locale請求消息。

示例
1、我們還在前面的登錄實例進行加工。
2、在默認的applicationResources.properties文件中添加相應的消息文本。 
   label.username=username 
   label.password=password 
   button.submit=submit 
   button.reset=reset
3、創建臨時中文資源文件:applicationResources_temp.propertyies 
   label.username=用戶名 
   label.password=密碼 
   button.submit=確定 
   button.reset=重置
4、對臨時資源文件進行編碼轉換: 
   在JDK中提供了native2ascii命令,它能夠實現字符編碼轉換。在DOS下執行以下命令,將生成按GBK以編碼的中文資源文件:
applicationResources_zh_CN.properties 
native2ascii –encoding gbk applicationResources_temp.properties 
applicationResources_zh_CN.properties 
生成的applicationResources_zh_CN.properties的內容如下: 
label.username="u7528"u6237"u540d
label.password="u5bc6"u7801
button.submit="u786e"u5b9a
button.reset="u91cd"u7f6e 
當web用戶的Locale為中文時,Struts框架將自動選擇來自applicationResources_zh_CN.properties文件的消息文本。 

5、創建英文的資源文件:
label.username=username 
label.password=password 
button.submit=submit 
button.reset=reset 
    完成以上幾個步驟后,在web 應用程序的根目錄"WEB-INF目錄"classes目錄下應該有了三個資源文件: 
      默認資源文件:applicationResource.properties 
     中文資源文件:applicationResource_zh_CN.properties
     英文資源文件:applicationResource_en.properties
6、創建struts的Resource Bundle
Struts配置文件中的<message-resources>元素定義了一個Resource Bundle。Resource Bundle的持久化消息文本存儲在資源文件中,其擴展名為“.properties”,里面存放的都是“鍵/值”。
在struts-config.xml中對Resource Bundle的配置代碼:
<message-resources parameter=”ApplicationResources”/>
表示默認的資源文件應該是applicationResources.properties,存放在應用程序的根目錄"WEB-INF目錄"classes目錄下。如果應用程序需要支持中文用戶,要在相同目錄下創建一個包涵中文消息的資源文件,文件名必須為applicationResource_zh_CN.properties。
   7、修改login.jsp頁面
    <html:form action="login.do" method="post"> 
    <bean:message key="label.username"/> 
    <html:text property="username" /><html:errors property="username"/> 
    <br /> 
    <bean:message key="label.password"/> 
    <html:text property="userpass" /><html:errors property="userpass"/> 
    <br> 
    <input type="submit" name="Submit" value="<bean:message key="button.submit"/>"> 
    <input type="reset" value="<bean:message key="button.reset"/>">
</html:form>

<bean:message/>:用于訪問web應用資源的bean標簽,顯示Resource Boundle中的內容。 8、運行程序 
     1)如果你的瀏覽器默認設置為中文,你鍵入地址,將看到的頁面如下:



 2)把你的瀏覽器的設置為英文,然后刷新頁面,如下圖:





提示:如果你的web應用程序面對多個國家的話,實現不同語言的切換,現在一切都方便了,不過java對中文的支持并不好,并不是什么地方都可以使用中文的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久伊人色综合| 亚洲精品短视频| 国产精品成人免费电影| 久热精品视频在线免费观看| 亚洲国产精品久久久久久| 久久国产精品99国产精| 亚洲午夜小视频| 午夜精品一区二区三区视频免费看| 国产日韩专区在线| 亚洲自拍偷拍一区| 久久最新资源网| 日韩电影免费在线观看中文字幕| 久久影院免费观看| 91高清在线免费观看| 不卡在线观看电视剧完整版| 热99在线视频| 日韩高清电影免费观看完整| 色综合久综合久久综合久鬼88| 精品自在线视频| 黑人精品xxx一区一二区| 波霸ol色综合久久| 国产精品视频久久| 久久精品国产亚洲一区二区| 亚洲九九九在线观看| 91精品国产自产91精品| 亚洲免费中文字幕| 国产女人精品视频| 国产精品色午夜在线观看| 亚洲一区av在线播放| 国产精品稀缺呦系列在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美激情videos| 久久国产精品视频| 国产一区二区视频在线观看| 亚洲激情久久久| 国产狼人综合免费视频| 亚洲色无码播放| 久久影院资源网| 国产成人福利夜色影视| 成人免费观看49www在线观看| 国产精品久久久久av| 亚洲成人免费网站| 日本在线精品视频| 国产99久久久欧美黑人| 久久综合五月天| 日韩小视频在线| 欧美性理论片在线观看片免费| 国模叶桐国产精品一区| 欧美日韩激情小视频| 久久久国产精彩视频美女艺术照福利| 国产精品一区二区3区| 久久91亚洲人成电影网站| 欧美中文在线视频| 亚洲成人网在线| 91香蕉亚洲精品| 国产精品视频999| 国产精品美女在线观看| 国产精品专区一| 久久亚洲精品中文字幕冲田杏梨| 久久久亚洲福利精品午夜| 韩国v欧美v日本v亚洲| 国产91精品视频在线观看| 91av在线播放视频| 91久热免费在线视频| 欧美裸体男粗大视频在线观看| 中文字幕亚洲天堂| 久久中文字幕一区| 国产日韩欧美电影在线观看| 亚洲国产日韩欧美在线99| 国模极品一区二区三区| 九九热这里只有精品免费看| 91亚洲精品久久久久久久久久久久| 久久亚洲精品小早川怜子66| 国产精品视频最多的网站| 91国在线精品国内播放| 亚洲精品美女网站| 国产精品麻豆va在线播放| 亚洲综合视频1区| 国产99久久精品一区二区 夜夜躁日日躁| 色偷偷888欧美精品久久久| 日韩中文在线观看| 在线观看日韩欧美| 狠狠色狠狠色综合日日小说| 九九热这里只有在线精品视| 亚洲成人网av| 亚洲精品久久久久| 免费成人高清视频| 欧美精品久久久久久久免费观看| 激情成人在线视频| 成人观看高清在线观看免费| 色偷偷888欧美精品久久久| 国内精品久久久久久影视8| 久久久亚洲精选| 欧美性xxxx| 色偷偷9999www| 国产伦精品一区二区三区精品视频| 中文字幕亚洲综合久久筱田步美| 国产精品18久久久久久麻辣| 欧美成人一二三| 岛国av在线不卡| 国产欧美日韩中文字幕| 欧美一级淫片丝袜脚交| 热re99久久精品国产66热| 日韩在线视频观看正片免费网站| 91精品国产综合久久男男| 国产精品丝袜一区二区三区| 国产精品旅馆在线| 欧美成人精品xxx| 精品国产乱码久久久久久虫虫漫画| 欧美国产日韩中文字幕在线| 国产亚洲精品美女| 亚洲欧洲一区二区三区在线观看| 一本大道亚洲视频| 亚洲男人第一av网站| 成人一区二区电影| 国产视频久久久久久久| 国产精品扒开腿做爽爽爽的视频| 91九色精品视频| 国产精品一区二区三区毛片淫片| 国产精品日韩一区| 亚洲欧美一区二区三区四区| 国产精品午夜国产小视频| 欧美激情a∨在线视频播放| 久久久久久网址| 久久99精品久久久久久噜噜| 亚洲另类激情图| 久久久女人电视剧免费播放下载| 国产精品国内视频| 色婷婷亚洲mv天堂mv在影片| 久久国产精品久久久久久久久久| 91欧美精品成人综合在线观看| 91精品国产自产在线老师啪| 欧美极品少妇全裸体| 亚洲色图偷窥自拍| 国产成人精品久久久| 欧美一区二区视频97| 国产视频在线一区二区| 午夜精品久久久久久久99热浪潮| 在线观看视频99| 热久久这里只有精品| 久久久久国产一区二区三区| 在线观看日韩www视频免费| 欧美高清电影在线看| 91高潮精品免费porn| 国产成人精品综合| 亚洲欧美制服综合另类| 日本一区二区三区四区视频| 92版电视剧仙鹤神针在线观看| 国内自拍欧美激情| 91精品久久久久久久久不口人| 国产欧美日韩精品在线观看| 国产日韩换脸av一区在线观看| 中文字幕av日韩| 57pao成人永久免费视频| 欧美一区二区影院| 亚洲精品一区二区网址| 精品一区电影国产| 欧美国产视频一区二区| 精品久久久久久久中文字幕| 欧美一级在线亚洲天堂| 国产亚洲aⅴaaaaaa毛片| 国模精品视频一区二区三区| 91精品视频专区| 国产精品18久久久久久首页狼|