14
Id 腳本變量和要定義的頁作用域屬性的名稱Name 資源的相對路徑Input 如果這個屬性不存在,資源的類型就是字符串
例如:
<bean:resource id=”myResource” name=”/WEB-INF/images/myResource.xml”/>
腳本變量的名稱是myResource,要檢索的資源的名稱是myResource.xml。
2.1.3 顯示Bean屬性
標記庫中定義了<bean:write>標記,用來將bean的屬性輸送到封裝的JSP頁寫入器。這個標記與<jsp:getProperty>類似,屬性如下:
屬性描述Name 要進行屬性顯示的bean的名稱property 要顯示的屬性的名稱。如果這個屬性類有java.beans.PropertyEditor,getAsText()或toString 方法會被調用Scope Bean的作用域,若沒有設置,搜索范圍是從頁到應用程序作用域Filter 如果設置true,屬性中的所有特殊HTML字符都將被轉化為相應的實體引用Ignore 如果設置false,當發現屬性時會產生一個請求時間異常,否則返回null
例如:
<bean:write name=”myBean” property=”myProperty” scope=”request”
filter=”true”/>
myBean的屬性myProperty將會被顯示,作用域為請求,如果發現任何HTML特殊字符都將被轉化為相應的實體引用。
2.1.4 消息標記和國際化
strtus框架支持國際化和本地化。用戶在他們的計算機中定義自己所在的區域,當web應用程序需要輸出一條消息時,它將引用一個資源文件,在這個文件中所有的消息都使用了適當的語言。一個應用程序可能提供了很多資源文件,每個文件提供了用不同語言編寫的消息。如果沒有找到所選語言的資源文件,就將使用默認的資源文件。
struts框架對國際化的支持是使用<bean:message>標記,以及使用java.util數據包中定義的Locale和ResourceBundle類來實現Java2平臺對這些任務的支持。Java.text.MessageFormat類定義的技術可以支持消息的格式。利用此功能,開發人員不需了解這些類的細節就可進行國際化和設置消息的格式。
用strtus實現國際化和本地化:
第一步要定義資源文件的名稱,這個文件會包含用默認語言編寫的在程序中會出現的所有消息。這些消息以“關鍵字-值”的形式存儲,如下:
error.validation.location = The entered location is invalid
這個文件需要存儲在類的路徑下,而且它的路徑要作為初始化參數傳送給ActionServlet作為參數進行傳遞時,路徑的格式要符合完整Java類的標準命名規范。比如,如果資源文件存儲在WEB-INF\classes目錄中,文件名是
15
ApplicationResources.properties,那么需要傳遞的參數值是ApplicationResources。如果文件在WEB-INF\classes\com\test中,那么參數值就應該是com.test. ApplicationResources.
為了實現國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中;举Y源文件包含的是用默認地區語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。因此這些文件應包含相同的關鍵字,但關鍵字的值是用特定語言編寫的。
ActionServlet的區域初始化參數必須與一個true值一起傳送,這樣ActionServlet就會在用戶會話中的Action.LOCALE_KEY關鍵字下存儲一個特定用戶計算機的區域對象,F在可以運行一個國際化的web站點,它可以根據用戶計算機上的設置的區域自動以相應的語言顯示。
我們還可以使用特定的字符串來替換部分消息,就象用java.text.MessageFormat的方法一樣:
error.invalid.number = The number {0} is valid
我們可以把字符串{0}替換成任何我們需要的數字。<bean:message>標簽屬性如下:
屬性描述Key 資源文件中定義消息關鍵字Locale 用戶會話中存儲的區域對象的屬性名稱。若沒有設置,默認值是Action.LOCALE_KEY Bundle 在應用程序上下文中,存儲資源對象的屬性的名稱。如果沒有設置這個屬性,默認值是Action.MESSAGE_KEY arg0 第一個替換參數值arg1 第二個替換參數值arg2 第三個替換參數值arg3 第四個替換參數值
例如:資源文件中定義了一個消息:
文章來源于領測軟件測試網 http://www.kjueaiud.com/