Struts2和Rails的國際化實現

2021-08-25 17:49:50 字數 2405 閱讀 4305

[size=medium][b][color=darkblue]struts2的實現方式:[/color][/b][/size]

對所有的action新增前置***,其中使用actioncontext例項的setlocale()。

private void setlang(actioncontext actioncontext,map session)

}

[color=red][i][b]動態指定國際化語言,只要設定session中的lang的值即可。[/b][/i][/color]

[size=medium]呼叫方式:[/size]

i.應用範圍

jsp頁面和action層面,至於service和dao或者其他工具類中的資訊內容的國際化,可以採取如下方式:例如userdaoimpl中的方法在報錯的情況下可能向上丟擲錯誤資訊(沒有找到使用者)。可以把這個錯誤資訊轉換成乙個key(string),key對應的值寫在國際化的資源檔案中。這樣把這個key拋到action層然後就可以獲取到國際化的內容了。

ii.使用方法

①. 在jsp中使用國際化內容,通過使用標籤如果有國際化資訊是動態的可以新增引數使用標籤。

demo:國際化資源檔案中有此內容

hello = 你好!

helloparam = 你好!

在jsp中可以使用

china

time

②. 在action中使用國際化。actionsupport類中提供了gettext()方法

demo:國際化資源檔案中有此內容

hello = 你好!

helloparam = 你好!

在action中可以使用

gettext(「hello」);

gettext(「helloparam」,new string )

iii.專案中的資源檔案

① 通過在struts.properties檔案中struts.custom.i18n.resources=basemessages

指定全域性的資源檔案,檔案放在專案中的src包根目錄下

② 通過在action對應的包中定義aaction_zh_cn.properties定義對應aaction的國際化資源檔案。

③ jsp的資源檔案可以使用全域性的檔案,也可以通過指定。

④ 在資源檔案後面新增不同的語言字尾即可定義不同語言的資源檔案

例如 basemessages_en_us.properties

basemessages_zh_cn.properties

[size=medium][b][color=darkblue]rails的實現方式:[/color][/b][/size]

rails2.0以上的版本已經自帶國際化的功能。

只要對所有的action新增前置過濾器即可

# 設定本地語言

專案中的語言通過i18n.locale指定。

動態指定國際化語言,只要設定session中的lang的值即可。

[size=medium]呼叫方式:[/size]

i.erb頁面可以使用<%= t('keyn') %>或<%= t 'keyn' %>,

帶引數:<%= t('keyn',:params1=>'value1') %>或<%= t 'keyn',:params1=>'value1' %>

ii.action中則可以直接使用t('keyn')或t 'keyn',keyn就是對應的國際化鍵值。

帶引數:t('keyn',:params1=>'value1')或<%= t 'keyn',:params1=>'value1' %>

[color=indigo][b][size=small]以上是我總結的國際化文件中的摘要,詳細內容可以參考附件中的《struts2專案的國際化實現方式.docx》和《rails國際化實現方式.docx》[/size][/b][/color]

Struts和struts2的不同

struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...

struts2學習筆記 struts2的配置檔案

一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...