struts2學習之 國際化

2021-08-03 09:54:40 字數 1913 閱讀 1078

struts2的國際化按如下步驟進行:

1. 讓系統載入國際化資源檔案:

2.輸出國際化:

1.檢視頁面的國際化

在jsp頁面中指定國際化資源需要借助struts2的另乙個標籤:

如果把標籤作為標籤的父標籤,則會直接載入標籤裡指定的國際化資源檔案;如果把標籤當成表單標籤的父標籤,則表單標籤的key屬性將會從國際化資源檔案中載入該訊息。

loginform.properties

#在jsp頁面種使用的jsp範圍的資源檔案

loginpage=jsp訊息:登入頁面

user=jsp訊息:使用者名稱

pass=jsp訊息:密碼

login=jsp訊息:登入

使用native2ascii命令處理這份檔案,處理後生成的新檔名為:loginform_zh_cn.properties

命名規則basename_language_country.properties

2.action的國際化

為action單獨指定國際化資源檔案的方法:在action類檔案所在的路徑建立多個檔名為:actionname_language_country.properties。

struts2的國際化資源檔案由系統自動載入,該action類(繼承actionsupport基類)以及該action對應的校驗規則檔案都可以使用這份國際化資源檔案。

國際化資源檔案有如下特徵:

3.使用包範圍的國際化資源

保範圍的國際化資源檔案的功能基本與action範圍的國際化資源檔案的功能相似,struts2也可以自動載入包範圍的國際化資源檔案。與action範圍的國際化資源檔案的區別是:包範圍的國際化資源檔案可以被該包下的所有action使用。檔名為:package_language_country.properties

當action範圍的資源檔案和包範圍的資源檔案同時存在時,系統將優先使用action範圍的資源檔案。

4.使用全域性國際化資源

struts.properties檔案中載入:

struts.custom.il8n.resources=basename
struts.xml檔案中載入:

"struts.custom.il8n.resources" value="basename"/>
一般來說,全域性國際化訊息資源檔案中只應該儲存那些對整個應用都有效的全域性訊息,比如型別轉換失敗的通用提示資訊、檔案上傳失敗的提示資訊……而各jsp頁面上的國際化訊息、action及其校驗規則裡的國際化訊息,都不應該放在全域性國際化訊息資源檔案中。

5.輸出帶佔位符的國際化訊息

struts2中提供了如下兩種方式來填充訊息字串中的佔位符。

welcomemsg=,您好!現在時間是!

//jsp頁面中填充

"welcomemsg">

"username">

$//action類中填充

public string execute() throws exception));

}

除此之外,struts2還提供了對佔位符的一種替代方式,這種方式允許在國際化訊息中使用表示式。對於這種方式,則可避免在使用國際化訊息時還需要為佔位符傳入引數值。

將上面兩條訊息資源改為如下形式:

failtip=$,對不起,您不能登入!

succtip=$,歡迎,您已經登入!

在上面的訊息資源中,通過使用表示式,可以從valuestack中取出該username屬性值,自動填充到該訊息資源中。

Struts2學習筆記之國際化一

以在jsp中顯示helloworld為例 第一步在src目錄下新建struts.properties檔案,內容如下 struts.custom.i18n.resources globalmessages 第二步,在src目錄下新建屬性檔案globalmessages en us.properties...

struts2國際化問題

工程圖如下所示 問題原因 沒有用action跳轉到jsp頁,而是通過直接訪問jsp的原因。網上這麼說的 直接訪問jsp,struts 2.0在web.xml的配置的過濾器 filter 就不會工作,所以 鏈也不會工作。struts2國際化的步驟 1 判斷struts.locale屬性 在struts...

Struts2的國際化

1.在struts.xml中新增 2.在src根檔案中新建file檔案命名為message zh.properties這是漢語 message en.properties 這是英語的。這裡的值是成鍵值對出現的。3.在jsp檔案中則可以實現其國際化在如使用者名稱則可以寫成如果是submit則 如果不在...