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...