W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
I18nInterceptor 攔截器是針對于 web 應(yīng)用提供的一個國際化組件,以下是在 freemarker 模板 中使用的例子:
//先將I18nInterceptor配置成全局攔截器
public void configInterceptor(Interceptors me) { me.add(new I18nInterceptor());
}
// 然后在freemarker中即可通過_res對象來獲取國際化數(shù)據(jù)
${_res.get("msg")}
以上代碼通過配置了 I18nInterceptor 攔截 action 請求,然后即可在 freemarker 模板文件中 通過名為_res 對象來獲取國際化數(shù)據(jù),I18nInterceptor 的具體工作流程如下:
以上步驟 I18nInterceptor 中的變量名”_locale”、”_res”都可以在創(chuàng)建 I18nInterceptor 對象時 進行指定,不指定時將使用默認值。還可以通過繼承 I18nInterceptor 并且覆蓋 getLocalPara、 getResName、getBaseName 來定制更加個性化的功能。
在有些 web 系統(tǒng)中,頁面需要國際化的文本過多,并且 css 以及 html 也因為國際化而 大不相同,對于這種應(yīng)用場景先直接制做多套同名稱的國際化視圖,并將這些視圖以 locale 為 子目錄分類存放,最后使用 I18nInterceptor 攔截器根據(jù) locale 動態(tài)切換視圖,而不必對視圖中 的文本逐個進行國際化切換,只需將 I18nInterceptor.isSwitchView 設(shè)置為 true 即可,省時省力。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: