struts2實現選擇i18n語言選擇切換

2021-08-28 04:45:06 字數 1542 閱讀 8689

【新手學習記錄,僅供參考!】

1.專案準備

首先當然是我們得建立乙個struts2的web專案,並且已經實現了乙個簡單的功能。

以下通過登入功能來舉例說明。

2.指定全域性國際化資源檔案

在struts.xml中配置i18n資源檔案。

3.配置語言資源配置檔案

這裡以中英兩種語言作為例子。

需要分別配置souvenir_en_us.properties以及souvenir_en_us.properties

4.在jsp頁面中進行呼叫

這時,系統已經實現了i18n,只是預設根據瀏覽器的語言配置來載入的資源檔案。

我們可以事先修改一下ie的internet選項中的語言配置,來驗證i18n功能是否成功實現。

比如我們將英文設定為預設語言,這時重新開啟剛才jsp登入頁面,就會發現提示語言變為英文。

5.新增語言選擇功能

簡體中文

english

這裡實則上是呼叫的chlang這個action來進行語言選擇的處理,同時傳遞了語言引數。

6.配置和實現chlang這個action

首先在struts.xml中增加chlang的配置,方法與之前其他的action配置類似

這裡由於是進行語言切換,所以預設都是跳轉到login頁面

然後在loginaction類中實現chlang方法

public string chlang() else 

actioncontext.getcontext().setlocale(locale);

servletactioncontext.getrequest().getsession().setattribute("ww_trans_i18n_locale", locale);

return success;

}

邏輯比較簡單,根據使用者選擇語言引數來判斷並修改需要載入語言資源。

7.效果預覽

預設開啟login.jsp頁面時,由於我的瀏覽器已經修改語言為英語,所以預設載入英文。

然後我們選擇「簡體中文」進行語言切換,效果如下:

8.總結

簡單小結一下,其實原理還是比較簡單的。

首先是瀏覽器根據ie預設配置載入對應的語言資源

然後是使用者主動選擇語言切換後,系統通過action處理請求,然後返回相應的頁面,從而實現多語言的效果。

struts2實現選擇i18n語言選擇切換

新手學習記錄,僅供參考!1.專案準備 首先當然是我們得建立乙個struts2的web專案,並且已經實現了乙個簡單的功能。以下通過登入功能來舉例說明。2.指定全域性國際化資源檔案 在struts.xml中配置i18n資源檔案。3.配置語言資源配置檔案 這裡以中英兩種語言作為例子。需要分別配置souve...

struts2的國際化 i18n 操作

1 新增資源檔案的方式之一 在struts.xml檔案中引入資源檔案 constant name struts.custom.i18n.resources value 資源檔名 新增資源檔案的方式之二 建立struts.properties並在新增語句struts.custom.i18n.resou...

i18n呼叫自己引數 I18N的前後端實現

所需工具 1 vue 2 vue i18n 前期設定 1 構建兩個json語言字典,如果就中英文切換就分別構建 string en.json 和string zh.json,格式如下 2 讀取前一步驟建立的字典,並構造vuei18n元素 獲取本地語言包 非同步獲取會沒有response,需要暫時關閉...