撕开奶罩揉吮奶头玩大胸直播,亚洲色无码专线精品观看,太平公主秘史在线观看免费,国产精品久久毛片

南京北大青鳥

全國咨詢電話:15195455103

三分鐘了解北大青鳥
當(dāng)前位置:南京北大青鳥 > 學(xué)習(xí)園地 > 編程技巧

Struts2國際化

來源:南京北大青鳥張府園校區(qū)? ? ? 作者:IT教育 ? ??

國際化(internationalization)是設(shè)計(jì)和制造容易適應(yīng)不同區(qū)域要求的產(chǎn)品的一種方式。它要求從產(chǎn)品中抽離所有的與語言,國家/地區(qū)和文化相關(guān)的元素。換言之,應(yīng)用程序的功能和代碼設(shè)

國際化(internationalization)是設(shè)計(jì)和制造容易適應(yīng)不同區(qū)域要求的產(chǎn)品的一種方式。它要求從產(chǎn)品中抽離所有的與語言,國家/地區(qū)和文化相關(guān)的元素。換言之,應(yīng)用程序的功能和代碼設(shè)計(jì)考慮在不同地區(qū)運(yùn)行的需要,其代碼簡(jiǎn)化了不同本地版本的生產(chǎn)。開發(fā)這樣的程序的過程,就稱為國際化。
很多技術(shù)框架都提供國際化支持,struts2的國際化大致上分為頁面的國際化,Action的國際化以及xml的國際化。
我們將使用Struts2國際化技術(shù)實(shí)現(xiàn)登錄功能的國際化。實(shí)現(xiàn)根據(jù)客戶端的瀏覽器區(qū)域進(jìn)行語言的切換,我們以英文和中文為例子。
右鍵點(diǎn)擊TestStruts2_001項(xiàng)目的“src”文件夾,選擇“New”->“File”在里面新建一文件:

北大青鳥軟件學(xué)校職業(yè)教育

在File name處輸入“struts.properties”。properties文件為資源文件。其內(nèi)容格式為:“Key=Value”。點(diǎn)擊“Finish”后即可看到打開了該文件,界面如下:

北大青鳥軟件學(xué)校職業(yè)教育

點(diǎn)擊“Add”按鈕,看到如下窗體:

北大青鳥軟件學(xué)校職業(yè)教育

在Name處輸入“struts.custom.i18n.resources”。這個(gè)為鍵名。
在Value處輸入“messageResource”。這個(gè)則為鍵值。
添加完后點(diǎn)擊“Finish”可以看到列表中出現(xiàn):

北大青鳥軟件學(xué)校職業(yè)教育

用同樣的方法,先新建一個(gè)名字叫messageResource_en_US.properties的文件,分別添加鍵值:
Name Value
netrobot.login.username username
netrobot.login.password password
netrobot.login.submitbutton submit
netrobot.helloworld Hello World!
得到下面列表:

北大青鳥軟件學(xué)校職業(yè)教育

使用同樣方法再創(chuàng)建一個(gè)messageResource_zh_CN.properties的文件,并且在里面添加鍵值:
Name Value
netrobot.login.username 用戶名
netrobot.login.password 密碼
netrobot.login.submitbutton 登錄
netrobot.helloworld 你好!
得到如圖:

北大青鳥軟件學(xué)校職業(yè)教育

注意,查看messageResource_zh_CN.properties的代碼視圖“Source”可以看到:
netrobot.login.username=u7528u6237u540D
netrobot.login.password=u5BC6u7801
netrobot.login.submitbutton=u767Bu5F55
netrobot.helloworld=u4F60u597DuFF01
中文不能直接寫在properties文件中,必須使ascii碼表示。
然后我們修改一下login.jsp頁面:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head></head>
 6   <body>
 7        <s:form action="loginAction" >
 8         <s:textfield name="username" key="netrobot.login.username"/>
 9         <s:password name="password" key="netrobot.login.password"/>
10         <s:submit key="netrobot.login.submitbutton"/>
11     </s:form>       
12   </body>
13 </html>

 
在各個(gè)控件后加上相應(yīng)的key=””,即可實(shí)現(xiàn)頁面的國際化。表單控件有很多,其他控件的用法請(qǐng)參考struts2相關(guān)文檔。
我們?cè)傩薷囊幌翲elloWorld.java,在里面修改代碼如下:

 1 package hello;
 2 import com.opensymphony.xwork2.ActionSupport;
 3 public class HelloWorld extends ActionSupport{
 4     private String message;
 5     public String getMessage() {
 6         return message;
 7     }
 8     public void setMessage(String message) {
 9         this.message = message;
10     }
11     public String execute(){
12         setMessage(getText("netrobot.helloWorld"));
13         return "success";
14     }
15 }

 
與之前的區(qū)別有兩個(gè)地方:1. HelloWorld類繼承了ActionSupport,要使用Struts2的國際化,必須繼承該類。2. 通過getText("label.helloWorld")方法獲得國際化后的HelloWorld值。通過getText方法可以實(shí)現(xiàn)Action中的國際化。
運(yùn)行結(jié)果:
假如運(yùn)行時(shí),操作系統(tǒng)為英文操作系統(tǒng),則顯示英文界面如圖:

北大青鳥軟件學(xué)校職業(yè)教育
 

在控制面板將系統(tǒng)的“區(qū)域與語言”設(shè)置為“中文(中國)”,則顯示中文界面:
 

北大青鳥軟件學(xué)校職業(yè)教育

注意:
如需添加其他語言,只需增加messageResource_語言_國家.properties文檔即可。語言和國家的代碼請(qǐng)參考相關(guān)資料。
國際化資源文件分為三種級(jí)別(1)全局資源文件,可以被整個(gè)應(yīng)該程序引用,也就是struts.custom.i18n.resources = messageResource指定的文件。
(2) 包級(jí)資源文件,每個(gè)包的根目錄下可以新建資源文件,僅被當(dāng)前包中的類訪問.文件名格式為:package_語言代碼_國家代碼.
(3) Action級(jí)資源文件,僅被當(dāng)前Action引用,名稱為action名_語言代碼_國家代碼
查找順序?yàn)閺男》秶酱蠓秶? Action級(jí)優(yōu)先級(jí)大。


分享到:

相關(guān)閱讀:

近期文章

搶試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES