跳轉到內容

使用 Click 框架/Velocity 進行 Java Web 應用程式開發

來自 Wikibooks,開放世界中的開放書籍

Velocity 是一個基於 Java 的模板框架,它為 Click 提供 HTML 渲染引擎。Velocity 非常容易學習,使用簡單,而且功能強大。

Velocity 是一個使用 [LICENSE.txt Apache] 軟體許可證的 Apache 開源專案。

Velocity 的全面線上文件包含在此發行版中。

  • Velocity 使用者指南
  • Velocity 開發者配置指南
  • Velocity 模板語言 (VTL) 參考指南

物件引用

[編輯 | 編輯原始碼]

使用 Click,您可以使用頁面的模型將物件新增到頁面模板中。然後,您可以使用 Velocity 的 $ 引用符號訪問這些物件。預設情況下,ClickServlet 將以下物件新增到頁面模板中

  • 任何使用欄位名稱的公共 Page 欄位
  • context - Servlet 上下文路徑,例如:/mycorp
  • cssImports - 要包含在頁面標題中的 CSS 匯入和樣式塊。
  • format - 用於格式化物件顯示的 Format 物件。
  • imports - 要包含在頁面標題中的 CSS 和 JavaScript 匯入。
  • jsImports - 要包含在頁面頁尾中的 JavaScript 匯入和指令碼塊。
  • messages - Page getMessage() 方法的 MessagesMap 介面卡。
  • path - 要呈現的頁面模板的路徑。
  • request - 頁面的 HttpServletRequest 物件。
  • response - 頁面的 HttpServletResponse 物件。
  • session - 使用者 HttpSession 的 SessionMap 介面卡。

在您的頁面模板中,您可以使用點路徑表示法訪問物件引用。例如

歡迎:$[../click-api/net/sf/click/util/SessionMap.html session].user.fullName

或者使用更明確的 Java 表示法

歡迎:$[../click-api/net/sf/click/util/SessionMap.html session].get("user").getFullName()

在 Velocity 中,指令以 # 符號為字首。引用訪問內容,指令則執行操作。Velocity 指令的完整集是

  • #if #elseif #else - 根據語句的真假輸出內容。
  • #foreach - 迴圈遍歷物件列表。
  • #macro - 允許使用者根據需要定義 Velocimacro (VM),VTL 模板中重複的片段。
  • #set - 建立引用的值。
  • #include - 渲染 Velocity 未解析的本地檔案。
  • #parse - 渲染 Velocity 解析的本地模板。
  • #stop - 停止模板引擎。
華夏公益教科書