3.5 Struts2國際化應用

下面以登陸界面爲例,講解國際化應用內容。
html

1.創建項目

打開MyEclipse,創建一個Web項目,命名爲「Struts2InternationalTest」。java

 

2.加載Struts 2的基本類庫

該步驟與3.2.1節中的第3步步驟相同,這裏再也不贅述。web

 

3.修改web.xml

其內容見3.2.1節第4步shell

 

4.創建資源文件

    Struts2提供了不少加載國際化資源文件的方法,最簡單且最經常使用的是加載全局的國際化資源文件。須要在項目的src文件夾下創建一個名爲「struts.properties」的文件。只須要在該文件中編寫下面代碼:瀏覽器

struts.custom.il8n.resources=資源文件名

注意:i18n是數字1。I18N是「國際化」的簡稱,其來源是英文單詞 internationalization的首末字符i和n。18爲中間的字符數
eclipse

    該例中資源文件名爲「messgageResource」,故struts.properties應爲:jsp

struts.custom.i18n.resources = messgageResource

    下面來創建兩個資源文件,分別爲中文和英文。
post

username=DLM
password=KL
login=login

    能夠看出,它們分別是一個key-value對。而後再提供下面的文件:編碼

username=登陸名
password=口令
login=登陸

    將上面文件以「messageResource_temp.properties」爲文件名保存在項目的WEB-INF/classes文件夾下,由於該文件包含了非西歐字符,因此必須用native2ascii命令來處理。選擇【開始】→【運行】菜單項,輸入「cmd」。spa

    而後輸入找到項目的class路徑下,如「D:\my\Documents\java\JavaEE\Struts2InternationalTest\WebRoot\WEB-INF\classes」。在命令行輸入

native2ascii messageResource_temp.properties messageResource_zh_CN.properties

這樣就會在class路徑下產生messageResource_zh _CN.properties文件(以下)。

username=\u767b\u5f55\u540d
password=\u53e3\u4ee4
login=\u767b\u5f55

--------------------------------------------------------------------

補充:

Eclipse中如何修改properties等文件的編碼?

window-->Preferences-->General-->Content Types-->text-->Java Properties File-->Default encoding-->輸入utf-8

就支持在properties文件中寫中文註釋了!

-------------------------------------------------------------------- 

5.創建login.jsp文件

Struts 2訪問國際化消息主要有如下三種方式:

    1)在JSP頁面中輸出國際化消息,能夠使用Struts 2<s:text…/>標籤,該標籤能夠指定name屬性,該屬性指定國際化資源文件中的key

    2)在Action中訪問國際化消息,能夠使用ActionSupport類的getText()方法,該方法能夠接收一個參數,該參數指定了國際化資源文件中的key

    3)在表單元素的label屬性裏輸出國際化信息,能夠爲該表單標籤指定一個key屬性,該屬性指定了國際化資源文件中的key。

下面是login.jsp文件代碼:

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
    <head></head>
    <body>
        <s:i18n name="messageResource">
            <s:form action="login.action" method="post">
                <s:textfield name="user.XH" key="username" size= "20"></s:textfield>
                <s:password name="user.KL" key="password" size= "20"></s:password>
                <s:submit value="%{getText('login')}"/>
            </s:form>
        </s:i18n>
    </body>
</html>

 

6.部署運行

    部署運行項目,打開瀏覽器,單擊「Internet 選項」>「常規」>「語言」,修改瀏覽器應用語言,當中文在最上方時表示當前爲中文環境,而相應的英文在最上面時表示當前爲英文環境。能夠發現中文環境時登陸界面如圖3.15所示,英文環境時,登陸界面如圖3.16所示。

圖3.15 中文環境時登陸界面

圖3.16 英文環境時登陸界面

 

 

 

7.用ResourceBundleEditor插件實現國際化資源的生成

1)下載地址 http://sourceforge.net/projects/eclipse-rbe/

2)安裝:解壓,複製到Eclipse插件安裝目錄下,重啓Eclipse。 

3)使用

在你的項目,WEB-INF上面點擊右鍵->new->other而後進入到如圖所示的界面

而後點擊下一步進入以下圖所示頁面,選擇你要配置使用的語言,能夠多選 

完成後,選擇你新創建的文件ApplicationResources_zh.properties,右擊資源文件,選擇【Open With】--【ResourceBundleEditor】

 

附:目錄《JavaEE基礎實用教程》筆記說明 

相關文章
相關標籤/搜索