WebWork2.2新特性(三)簡單頁面使用ww:text進(jìn)行國際化
除經(jīng)特別注明外,本站文章版權(quán)歸JScud Develop團(tuán)隊(duì)或其原作者所有.
轉(zhuǎn)載請(qǐng)注明作者和來源. scud(飛云小俠) 歡迎訪問 JScud Develop
這個(gè)特性應(yīng)該說這是一個(gè)副產(chǎn)品.是我最近突然想到這個(gè)想法,然后試用webwork 2.2,發(fā)現(xiàn)可以做到,而webwork 2.1.7是做不到的.
名詞定義:
簡單頁面:不通過action訪問,直接訪問文件的url.例如直接訪問的jsp,或者直接訪問的ftl.
需求想法:
在一個(gè)網(wǎng)站中,有很多頁面,其中很多頁面僅僅是簡單的頁面,沒有程序處理等.不過為了國際化,這些頁面就需要進(jìn)行i18n的工作.
1.按照正常的想法,應(yīng)該是每個(gè)頁面都要寫一個(gè)action,然后結(jié)果定義為這個(gè)頁面,通過訪問action來對(duì)頁面進(jìn)行國際化.或者是寫一個(gè)action,根據(jù)參數(shù)的不同,轉(zhuǎn)向目標(biāo)頁面.
或者要定義很多action或者很多參數(shù) 或者用一個(gè)程序帶不同的參數(shù)來訪問. 總之是麻煩,不直觀.
2.實(shí)現(xiàn)自己的一個(gè)tag來裝載國際化信息.這樣很簡單.不過只能用在jsp里. 如果想使用freemarker的話,通過一些簡單處理,也可以使用這個(gè)功能.
這個(gè)思路很簡單,可以不依賴任何其他組件.
3.WebWork 2.1.7
如果是在Jsp中,可以通過
<ww:i18n name="message"> <ww:text name="name"/> </ww:i18n> |
來實(shí)現(xiàn)簡單頁面的國際化. 無法在freemarker的簡單頁面中直接使用. (可以在action的結(jié)果頁面中使用)
4.WebWork 2.2 Beta (在最后發(fā)布的版本中,可能會(huì)有變化!!!)
在簡單頁面Jsp中,可以直接使用ww:text,例如
<ww:text name="name"/> |
(注意:在webwork.properties中需要包含資源文件 webwork.custom.i18n.resources=message ,如果有多個(gè),就用逗號(hào)分割)
在FreeMarker的簡單文件中,也可以直接使用ww:text.
<@ww.text name="name"/> |
<servlet> <servlet-name>freemarker</servlet-name> <servlet-class>com.opensymphony.webwork.views. freemarker.FreemarkerServlet</servlet-class> <load-on-startup>10</load-on-startup> </servlet> <servlet-mapping> <servlet-name>freemarker</servlet-name> <url-pattern>*.ftl</url-pattern> </servlet-mapping> |
警告:如果你不使用FreeMarker的簡單頁面,不需要配置這個(gè)Servlet,即使使用freemarker的ftl頁面來做action的結(jié)果頁面,也不需要配置這個(gè)Servlet,使用webwork的freemarker結(jié)果即可,具體請(qǐng)瀏覽webwork的Result Type的文檔.
posted on 2005-08-30 15:03 Scud(飛云小俠) 閱讀(2476) 評(píng)論(4) 編輯 收藏 所屬分類: WEB