當利用Velocity和Struts一同開發web應用時,可能會遇到這樣的問題,即.vm文件中無法使用Struts的標簽。雖然Velocity的模板引擎以及它強大的語句可以使我們毫不猶豫地拋棄Struts的標簽,但有時候,我們仍然需要在.vm文件中引用Struts的國際化文件ApplicationResources.properties,能否做到呢?答案是肯定的。替代的辦法是使用toolbox.xml(關于toolbox.xml的配置請參照
http://www.junesky.org/blog/article.asp?id=144),以下是一個toobox.xml文件:
?程序代碼<?xml version="1.0"?>
<toolbox>
??<tool>
???? <key>link</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.StrutsLinkTool
???? </class>
??</tool>
??<tool>
???? <key>msg</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.MessageTool
???? </class>
??</tool>
??<tool>
???? <key>errors</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.ErrorsTool
???? </class>
??</tool>
??<tool>
???? <key>form</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.FormTool
???? </class>
??</tool>
??<tool>
???? <key>tiles</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.TilesTool
???? </class>
??</tool>
??<tool>
???? <key>validator</key>
???? <scope>request</scope>
???? <class>
?????? org.apache.velocity.tools.struts.ValidatorTool
???? </class>
??</tool>
</toolbox>StrutsLinkTool:針對 Struts 的 LinkTool 專用版本,提供了 setAction() 和 setForward() 訪問預先配置的活動映射。
MessageTool:提供對 Struts 國際化支持的訪問,尤為特別的是依賴于語言的消息資源。
ErrorsTool:處理 Struts 錯誤消息,包括對國際化的支持。
FormTool:訪問 Struts 的表單 beans。
TilesTool:提供對 Struts 1.1 Tiles 擴展支持的訪問。
ValidatorTool:提供對 Struts 1.1 Validator 擴展的訪問,生成代碼驗證表單輸入字段。
現在,我們有一個編譯好了的文件:ApplicationResources_zh_CN.properties。它的內容如下:
name=六月天
在.vm文件中,就可以這樣寫:
$!{msg.get(“name”)}
posted on 2007-11-02 17:08
緣來如此 閱讀(399)
評論(0) 編輯 收藏 所屬分類:
Velocity