成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Struts2教程:國際化

開發 后端
本文為Struts2教程,本部分講述Struts2的國際化。Struts2雖然在大版本號上是第二個版本,但基本上在配置和使用上已經完全顛覆了Struts1.x的方式。

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

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

1. ActionClass.properties:屬性文件名和動作類同名。Struts2會首先查詢與當前訪問的動作類同名,并且和ActionClass.class在同一個目錄下的屬性文件。

2. BaseClass.properties:BaseClass表示動作類的基類。所有動作類都會查找Object.properties文件(因為Object是所有Java類的基類),但要注意的是Object.properties文件可不能放到當前動作類的目錄中,由于Object在java.lang包中,因此,Object.properties要放到jdk包的java"lang目錄中。而對于ActionSupport.properties文件,當然也不能放到動作類的當前目錄中,由于ActionSupport類中com.opensymphony.xwork2名中,因此,需要將ActionSupport.properties文件放到xwork2.jar包中的com\opensymphony\xwork2目錄中,由于放到jar文件中不太方便,因此,可以使一個和當前動作類在一個目錄的類先繼承ActionSupport,然后所有的動作類都繼承于這個類。代碼如下:

public class MyActionSupport extends ActionSupport
{
    ... ...
}
public class ActionClass extends MyActionSupport
{
    ... ...
}

這樣的話,只要存在一個MyActionSupport.properties,在當前目錄下的所有動作類都會讀取這個文件。

3. Interface.properties:這類文件和BaseClass.properties類似,Interface表示動作類實現的接口。

4. 如果動作類實現了ModelDriven, 那么重復第1步。

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

6. 搜索il8n資源信息

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

如下面是一個動作類

  1. package action.test;  
  2.  
  3. import org.apache.struts2.*;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5.  
  6. public class Internationalizing extends ActionSupport          
  7. {  
  8.     public String execute() throws Exception  
  9.     {  
  10.         return "forward";  
  11.     }  
  12. }  
  13.  

在action\test目錄下有一個Internationalizing.properties文件,內容如下:

delete = 刪除

save = 保存

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

< s:property value="getText('delete')"/>

< s:text name="save" />

3. 使用< s:il8n>標簽。這個標簽可以直接定位屬性文件,如abc.properties在WEB-INF\classes\test目錄下,內容和Internationalizing.properties一樣,則可以使用如下的代碼讀取abc.properties的內容:

  1. < %@ taglib prefix="s" uri="/struts-tags" %> 
  2. < s:i18n name="test.abc"> 
  3.     < s:text name="save" /> 
  4.     < s:text name="delete" /> 
  5. < /s:i18n> 

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

struts.custom.i18n.resources=my

在WEB-INF\classes目錄下建立一個my.properties文件,當Struts2按著上述的順序沒有找到相應的屬性文件時,最后就會考慮尋找全局的屬性文件,因此,就會找到my.properties。

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

測試客戶端瀏覽器的語言

【編輯推薦】

  1. Struts2教程:實現自已的攔截器
  2. Struts2教程:攔截器概述
  3. Struts2教程:上傳任意多個文件
  4. Struts2教程:在Action類中獲得HttpServletResponse對象
  5. Struts2教程:使用Validation框架驗證數據
責任編輯:yangsai 來源: BlogJava
相關推薦

2009-02-04 15:04:13

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:50:03

Struts2教程上傳任意多個文件

2009-06-25 15:54:42

Struts2教程攔截器

2009-02-04 11:37:15

2009-07-29 09:54:34

struts2和str

2009-06-25 15:33:12

Struts2教程使用validate驗證數據

2009-02-04 14:19:38

2009-06-25 15:37:12

Struts2教程Validation框

2009-02-04 14:00:59

2009-02-04 12:00:08

2009-06-25 15:59:21

Struts2教程攔截器

2009-06-04 08:53:57

struts2視頻教程

2009-02-04 13:13:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久国产精品久久 | av网站在线免费观看 | 亚洲不卡av在线 | 精品久久香蕉国产线看观看亚洲 | 自拍偷拍亚洲视频 | 亚洲欧洲综合av | 免费看a| 日日操视频 | 成人h动漫亚洲一区二区 | 中文字幕国产 | 欧美性成人 | 午夜国产羞羞视频免费网站 | 日韩三级精品 | 麻豆changesxxx国产 | 久久精品国产a三级三级三级 | 日本三级网站在线观看 | 欧美日韩在线一区 | 色婷婷亚洲国产女人的天堂 | 欧美精品综合 | 看毛片的网站 | 激情一区 | 欧美freesex黑人又粗又大 | a级毛片免费高清视频 | 欧美一级免费黄色片 | 国产精品欧美日韩 | 亚洲三区在线观看 | 狠狠操狠狠操 | 五月综合久久 | 91在线精品视频 | www.色综合| 国产九九精品视频 | 久久久免费精品 | 日韩中文字幕免费在线观看 | 国产精品久久久久久久久久久久 | 欧美一区二区三区在线 | 成人在线视频一区 | 亚洲国产中文在线 | 免费视频99 | 日韩欧美三区 | 精品av久久久久电影 | 天天干狠狠|