在struts2中,前端頁面表示國際化的實現更加簡單。簡單的應用struts2提供的支持國際化的表達式 即可快速方便的進行頁面的國際化的實現。如何做呢?本文以英文和中文為例進行說明。
1,自定義struts2的屬性,
屬性項目:struts.custom.i18n.resources
首先生成一個struts.properties文件,
文件位置:WEB-INF/src目錄下
文件內容:
struts.custom.i18n.resources=globalMessages
2,根據屬性所指定的值生成兩個properties文件
文件名:globalMessages_en.properties
文件內容:
firstname=firstname
lastname=lastname
age=age
文件名:globalMessages_zh.properties
文件內容:
firstname=姓
lastname=名
age=年齡
對於,globalMessages_zh.properties,應該將其中的文件內容轉化成unicode的形式。
轉換方法如下:
%JAVA_HOME%\bin\native2ascii.exe globalMessages_zh.properties > globalMessages_zh.properties
轉換完成後的文件內容應該如下:
文件名:globalMessages_zh.properties
文件內容:
firstname=\u59d3
lastname=\u540d
age=\u5e74\u9f84
3,然後做成一個測試用的jsp頁面。
文件名:login.jsp
文件內容:
<%@ page contentType="text/html; charset=gb2312" %> <%@ taglib uri="/struts-tags" prefix="s"%> <html> <s:form action="login" method="post"> <s:textfield name="firstname" label="%{getText('firstname')}"/> <s:textfield name="lastname" label="%{getText('lastname')}"/> <s:textfield name="age" label="%{getText('age')}"/> <s:submit/> </s:form> </html>
請注意:其中的紅字的部分,則是進行國際化資源獲取的重要代碼。
4,struts.xml的配置部分。
自己寫一個login的action吧,內容空的就可以,在此主要是測試頁面表示的jsp頁面內容的國際化表 示。
好,一切玩成,我們執行以下,
打開IE,如圖,確認一下當前的IE選項中的語言的首選項是中文,頁面的表示則為中文。
然後,修改IE選項中的語言的首選項成為英文,再刷新一下頁面,則頁面的表示變成英文。
怎麼樣,在struts2中,國際化的實現就是如此的簡單。