自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Struts2教程10:國際化

開發(fā) 開發(fā)工具 后端
Struts是Apache 基金會(huì)Jakarta 項(xiàng)目組的一個(gè)Open Source 項(xiàng)目,它采用MVC模式,能夠很好地幫助java 開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts 也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Struts的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。在本系列教程中我們將學(xué)習(xí)到Struts2的各種技術(shù)。

【相關(guān)文章】

  1. Struts2教程1:***個(gè)Struts2程序
  2. Struts2教程2:處理一個(gè)form多個(gè)submit
  3. Struts2教程3:struts.xml常用配置解析
  4. Struts2教程4:使用validate方法驗(yàn)證數(shù)據(jù)
  5. Struts2教程5:使用Validation框架驗(yàn)證數(shù)據(jù)
  6. Struts2教程6:在Action類中獲得HttpServletResponse對(duì)象
  7. Struts2教程7:上傳任意多個(gè)文件
  8. Struts2教程8:攔截器概述
  9. Struts2教程9:實(shí)現(xiàn)自已的攔截器

國際化的作用就是根據(jù)不同國家的用戶在訪問Web或其他類型的程序時(shí),將各種信息以本地的常用形式顯示出來,如界面信息在中國,就會(huì)顯示中文信息,在以英文為主的國家里,就會(huì)顯示英文信息。還有就是一些信息的格式,如日期格式等。

從屬性文件中獲得字符串信息是國際化的基本應(yīng)用。在Struts2中使用的屬性文件就是Java屬性文件,擴(kuò)展名為properties。在Struts2中的屬性文件可以有很多默認(rèn)的位置,Struts2可按如下的順序(或步驟)來定位屬性文件:

1.ActionClass.properties:屬性文件名和動(dòng)作類同名。Struts2會(huì)首先查詢與當(dāng)前訪問的動(dòng)作類同名,并且和ActionClass.class在同一個(gè)目錄下的屬性文件。

2.BaseClass.properties:BaseClass表示動(dòng)作類的基類。所有動(dòng)作類都會(huì)查找Object.properties文件(因?yàn)镺bject是所有Java類的基類),但要注意的是Object.properties文件可不能放到當(dāng)前動(dòng)作類的目錄中,由于Object在java.lang包中,因此,Object.properties要放到j(luò)dk包的java"lang目錄中。而對(duì)于ActionSupport.properties文件,當(dāng)然也不能放到動(dòng)作類的當(dāng)前目錄中,由于ActionSupport類中com.opensymphony.xwork2名中,因此,需要將ActionSupport.properties文件放到xwork2.jar包中的comopensymphonyxwork2目錄中,由于放到j(luò)ar文件中不太方便,因此,可以使一個(gè)和當(dāng)前動(dòng)作類在一個(gè)目錄的類先繼承ActionSupport,然后所有的動(dòng)作類都繼承于這個(gè)類。代碼如下:

publicclassMyActionSupportextendsActionSupport
{
  ... ...
}
publicclassActionClassextendsMyActionSupport
{
  ... ...
}

這樣的話,只要存在一個(gè)MyActionSupport.properties,在當(dāng)前目錄下的所有動(dòng)作類都會(huì)讀取這個(gè)文件。

3.Interface.properties:這類文件和BaseClass.properties類似,Interface表示動(dòng)作類實(shí)現(xiàn)的接口。

4.如果動(dòng)作類實(shí)現(xiàn)了ModelDriven, 那么重復(fù)第1步。

5.package.properties:大家要注意。這個(gè)文件就叫package.properties。不象Interface和BaseClass都是泛指。這個(gè)文件可以放到當(dāng)前動(dòng)作類的包的任何一層目錄下。如當(dāng)前動(dòng)作類在action.test包中。那么package.properties可以放到action目錄中,也可以放到action"test目錄中。Struts2會(huì)從離動(dòng)作類最近的位置開始查找package.properties文件。

6.搜索il8n資源信息

7.查找全局資源屬性文件

如下面是一個(gè)動(dòng)作類

packageaction.test;

importorg.apache.struts2.*;
importcom.opensymphony.xwork2.ActionSupport;
publicclassInternationalizingextendsActionSupport    
{
  publicStringexecute()throwsException
  {
    return"forward";
  }
}

在actiontest目錄下有一個(gè)Internationalizing.properties文件,內(nèi)容如下:

delete = 刪除

save = 保存

我們可以在jsp文件中使用如下幾種方法取出資源信息:

<s:propertyvalue="getText('delete')"/>
  
<s:text name="save" />

8.使用<s:il8n>標(biāo)簽。這個(gè)標(biāo)簽可以直接定位屬性文件,如abc.properties在WEB-INFclassestest目錄下,內(nèi)容和Internationalizing.properties一樣,則可以使用如下的代碼讀取abc.properties的內(nèi)容:

<%@taglibprefix="s"uri="/struts-tags"%>
<s:i18nname="test.abc">
 ?。約:textname="save"/>
  <s:textname="delete"/>
</s:i18n>

當(dāng)然,我們也可以使用全局的屬性文件,在WEB-INF"classes目錄下建立一個(gè)struts.properties文件,內(nèi)容如下:

struts.custom.i18n.resources=my

在WEB-INFclasses目錄下建立一個(gè)my.properties文件,當(dāng)Struts2按著上述的順序沒有找到相應(yīng)的屬性文件時(shí),***就會(huì)考慮尋找全局的屬性文件,因此,就會(huì)找到my.properties。

還可以通過屬性文件名來讓Struts2按著客戶端瀏覽器的語言環(huán)境來找符合某種語言的屬性文件。如有三個(gè)屬性文件language.properties、language_en.properties、language_zh.properties。如果客戶端的語言是中文,Struts2就會(huì)讀language_zh.properties,如果是英文,就會(huì)讀language_en.properties。如果這兩個(gè)文件的某個(gè)不存在,就會(huì)讀language.properties。讀者可通過IE的[工具]->[Internet]->[語言]來測試客戶端瀏覽器的語言,如圖1所示:

 
圖1

【編輯推薦】

  1. Struts2教程1:***個(gè)Struts2程序
  2. Struts2教程2:處理一個(gè)form多個(gè)submit
  3. Struts2教程3:struts.xml常用配置解析
  4. Struts2教程4:使用validate方法驗(yàn)證數(shù)據(jù)
  5. Struts2教程5:使用Validation框架驗(yàn)證數(shù)據(jù)
  6. Struts2教程6:在Action類中獲得HttpServletResponse對(duì)象
  7. Struts2教程7:上傳任意多個(gè)文件
  8. Struts2教程8:攔截器概述
  9. Struts2教程9:實(shí)現(xiàn)自已的攔截器
責(zé)任編輯:楊鵬飛 來源: BlogJava
相關(guān)推薦

2009-06-25 16:04:30

2011-08-19 13:13:14

struts2Java

2009-06-05 09:40:59

2009-06-05 10:37:52

struts2 國際化表單

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-02-04 10:51:07

2009-06-03 14:19:34

Struts2Guice

2009-06-25 15:26:25

Struts2教程struts.xml常

2009-06-25 15:54:42

Struts2教程攔截器

2009-06-25 15:50:03

Struts2教程上傳任意多個(gè)文件

2009-07-29 09:54:34

struts2和str

2009-02-04 11:37:15

2009-02-04 14:00:59

2009-06-25 15:33:12

Struts2教程使用validate驗(yàn)證數(shù)據(jù)

2009-02-04 14:19:38

2009-06-25 15:37:12

Struts2教程Validation框

2009-02-04 13:13:03

2009-06-04 08:53:57

struts2視頻教程

2009-06-25 15:59:21

Struts2教程攔截器

2009-02-04 12:00:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)