struts2國際化問題 自我見解筆計

2021-08-31 22:50:22 字數 1550 閱讀 4297

1.struts2所指的國際化是指在action範圍內;而且不能是從定向檢視

public void actioncontext.getcontext().setlocale(locale locale)

sets the locale for the current action.

parameters:

locale - the locale for the current action.  //api所說只是當前action之內

2.要向所有action都享用乙個國際化值

servletactioncontext.getrequest().getsession().setattribute("ww_trans_i18n_locale", locale); //locale 是本地語言物件或者

actioncontext.getcontext().getsession().put("ww_trans_i18n_locale",locale);

3.example

string u1="en"; //英文language --中文 key:zh value:cn

string u2="us";

locale loc = new locale(u1,u2);

actioncontext.getcontext().setlocale(loc);

4.locale解釋

locale.china 就等於乙個locale物件;列印結果是zh_cn 

locale.chinese 就是乙個key值而己;列印結果是zh

locale.us 就等於乙個locale物件;列印結果是en_us

locale.english 就是乙個key值而己;列印結果是en

5.配置檔案

1.xml配置

首先在struts.properties檔案中加入以下內容:

struts.custom.i18n.resources=messageresource

或在struts.xml中加入

資源檔案的命名格式: 名稱_語言**_國家**. properties

如果建立中文和英語國際化,那麼資源檔名稱為

messageresource_zh_cn.properties和messageresource_en_us.properties

messageresource配置

在messageresource_en_us.properties加入以下內容

label.helloworld=hello,world

在messageresource_zh_cn.properties加入以下內容

label.helloworld=你好,世界

jsp頁面的國際化 

通過使用標籤輸出國際化

label.helloworld為資源檔案中定義的key

總結:1.如果要實現國際化;要麼根據瀏覽器的預設語言;struts2會自動去匹配語言選項

2.如果要動態設定;就必須在struts2的作用域(action)中;然後通過actioncontext.getcontext().setlocale(loc);這樣設定

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則 如果不在...

Struts2的國際化

struts2國際化分為三類 全域性的,包級別的,類級別的。全域性的 1 在struts.xml中的指定basename 國際化檔名為 basename 語言名 國家名.properties 如 message zh cn.properties 2 全域性的國際化資源檔案放在src下面。包級別的 1...