freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

通過(guò)velocity實(shí)現(xiàn)客戶端與服務(wù)器端模板-wenkub.com

2025-08-01 06:37 本頁(yè)面
   

【正文】 在使用 MVC 模型框架設(shè)計(jì)復(fù)雜的 Web 應(yīng)用程序時(shí),Velocity 作為一種視圖/模板化技術(shù)——以 VelocityViewServlet 的形式——可以很方便地插入到框架中。 結(jié)束語(yǔ)Velocity 模板處理程序可以直接集成到 Java 語(yǔ)言應(yīng)用程序中,立即提供報(bào)告生成或者模板處理的功能。 LinkTool 的 setURI() 方法用于生成服務(wù)器端到 Struts 動(dòng)作和“Powered by Velocity”標(biāo)志圖片的 URI 鏈接。/pimg src=$() alt=Powered by Velocity//body/html在 中,整個(gè)模板都使用 $msg 內(nèi)的消息工具訪問(wèn) Struts 的地域有關(guān)的國(guó)際化資源。清單 24. 通過(guò)使用 Velocity 模板與 Struts 互操作htmlheadtitle$()/title/headbody bgcolor=whiteif ( !$) font color=red ERROR: User database not loaded check servlet container logs for error messages. /font hrendh3$()/h3ullia href=$().addQueryData(action,Create)$()/a/lilia href=$()$()/a/li/ulpamp。 1. 把 Velocity 庫(kù)復(fù)制到 Struts 示例應(yīng)用程序下的 WEBINF\lib 目錄中。ValidatorTool 提供對(duì) Struts Validator 擴(kuò)展的訪問(wèn),生成代碼驗(yàn)證表單輸入字段。MessageTool 提供對(duì) Struts 國(guó)際化支持的訪問(wèn),尤為特別的是依賴于語(yǔ)言的消息資源。 VelocityStruts 提供了一組專用的 Velocity 工具,用于訪問(wèn) Struts 專有的資源和 Velocity 模板中的信息。相反,JSP 技術(shù)和 Velocity 模板可以協(xié)同工作。 與 Struts 框架的互操作Struts 是一種構(gòu)造基于 MVC 模型的框架的流行 Web 應(yīng)用程序。還有兩個(gè)高度專門化的、不那么常用的工具,如表 2 所示:表 2. 專門的 VelocityViewServlet 工具工具名 描述 ViewRenderTool 使模板能夠解析包含 VTL 的字符串。這兩個(gè)工具使我們能夠格式化日期和時(shí)間信息,并在模板中執(zhí)行浮點(diǎn)運(yùn)算,如清單 21 所示: 清單 21. 包括 DateTool 和 MathTool 的工具箱描述符?xml version=?toolbox tool keydate/key scopeapplication/scope class/class /tooltool keymath/key scopeapplication/scope class/class/tool...在 VelocityViewServlet 中有一組常用的標(biāo)準(zhǔn)工具,如表 1 所示: 表 1. VelocityViewServlet 中的標(biāo)準(zhǔn)工具工具名 描述 LinkTool 處理 URI。當(dāng)然,這個(gè) velocity JAR 文件也應(yīng)該在那兒。 一個(gè)通用的、經(jīng)過(guò)測(cè)試的、隨時(shí)可用的工具庫(kù) 要把 VelocityViewServlet 集成到 Web 應(yīng)用程序中,可以看一看示例 velview Web 應(yīng)用程序(在 webapps\velview 目錄中)。該 Servlet 為 Velocity 用作一種視圖層技術(shù)提供了更復(fù)雜的支持,既可以與 JSP 技術(shù)聯(lián)合使用也可以代替后者。在這個(gè)例子中,模板文件稱為 。 在示例代碼包中, 就是按照上述步驟創(chuàng)建的一個(gè) servlet。 1. 從 類派生一個(gè) Servlet 類。只需要以下幾個(gè)步驟: Velocity 中的工具工具是在模板中可以通過(guò) Velocity 上下文使用的實(shí)用 Java 對(duì)象?,F(xiàn)在讓我們把這種模板引擎與 Tomcat 5 的最新版本集成在一起,看一看 Velocity 在服務(wù)器端的應(yīng)用。作為一種完全自包含的模板引擎和腳本解釋器,Velocity 擁有完全封閉的模型。但是,JSP 模型可以毫無(wú)阻礙地訪問(wèn)底層的 Servlet API 和 Java 編程語(yǔ)言。 為了便于上手,Velocity 預(yù)設(shè)了一些默認(rèn)配置屬性,對(duì)于多數(shù)應(yīng)用而言,這都是合理的和可以接受的。 velocitydep?.jar 文件包括所有的外部依賴(Jakarta moncollections、Avalon Logkit 和 ORO 正則表達(dá)式庫(kù)),可以直接使用。 } }Velocity 作為獨(dú)立的解析器要編譯上述示例獨(dú)立解析器,請(qǐng)使用安裝目錄下 \code\app 中的 文件。 if ( mainTemplate != null) (mainContext, writer)。清單 17 中 VelocityParser 類的重載方法 addToContext() 說(shuō)明了這一點(diǎn): 清單 17. 使用 addToContext() 方法增加上下文屬性或者上下文鏈接 public void addToContext(String key, Object value) { if (mainContext == null) mainContext = new VelocityContext()。如果需要在模板中控制特定對(duì)象引用的可見(jiàn)性和可用性,這樣做非常有用。 } }在清單 16 中,對(duì) init() 的調(diào)用創(chuàng)建了一個(gè) Velocity 引擎實(shí)例。要使用的方法分別為 init() 和 getTemplate() 。 初始化模板引擎分析 VelocityParser 類中列出的 main() 方法(參見(jiàn)清單 13)。一旦附加到上下文中并在合并過(guò)程中傳遞,這些屬性在 Velocity 模板中立刻就變得沒(méi)有用了。 (fmtr, new ( ()))。比如,在 類中,我們已經(jīng)創(chuàng)建并向 Velocity 上下文中添加了兩個(gè)屬性,如清單 13 所示: 清單 13. 在 VelocityParser 類中創(chuàng)建一個(gè) Velocity 實(shí)例public static void main(String[] args) { VelocityParser velInstance = new VelocityParser(args[0])。在這種情況下,設(shè)計(jì)人員和開(kāi)發(fā)人員應(yīng)就對(duì)象集合及其可用的屬性達(dá)成一致并互相協(xié)作。通過(guò)創(chuàng)建 類的實(shí)例可以獲得 Velocity 上下文。 Velocity 上下文您可以把 Velocity 中的上下文看作是導(dǎo)入 Java 對(duì)象,以便在 Velocity 模板內(nèi)部訪問(wèn)的一種方法。比如,我們可以修改 showTree() 宏使其用于任何列表,如清單 11 所示: 清單 11. 帶參數(shù)的 Velocimacromacro (showList $val) if ($val ) foreach ($e in $val ) $e end endend要使用清單 11 中的宏調(diào)用 $treeList ,我們可以使用 showList($treeList) 。默認(rèn)情況下,宏保存在 文件中。注意在 foreach 循環(huán)體內(nèi)有一個(gè)內(nèi)置的計(jì)數(shù)器,可以在 fore
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1