跳转到内容

使用 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 - 停止模板引擎。
华夏公益教科书