`
pqcc
  • 浏览: 129686 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

velocity 学习笔记

    博客分类:
  • JAVA
阅读更多

1. Velocity中仅有String可以被赋值给变量。
2. 单行注释:## This is a single line comment.
3. 多行注释:
 #*
  Thus begins a multi-line comment. Online visitors won't
  see this text because the Velocity Templating Engine will
  ignore it.
 *#

4. $customer.Address有两种含义。它可以表示:查找hashtable对象customer中以Address为关键字的值;也可以表示调用customer对 象的getAddress()方法。

5. reference的正是格式如下:
 ${mudSlinger} 变量
 ${customer.Address} 属性
 ${purchase.getAddress()} 方法  和属性一样,但是方法可以指定参数,而属性不能。

6. VTL中的reference总是以一个大写或者小写的字母开始。
7. VTL中使用"\"作为逃逸符。
8. 注意:VTL中未被定义的变量将被认为是一个字符串,

9. 赋值左侧的(LHS)必须是一个变量或者属性reference。
 右侧(RHS)可以是以下类型中一种:
 l 变量reference
 l String literal
 l 属性reference
 l 方法reference
 l number literal
 l ArrayList
10. 如果你的RHS是一个null,VTL的处理将比较特殊:它将指向一个已经存在的reference,这对初学者来讲可能是比较费解的。
11. Velocity有AND、OR和NOT逻辑运算符。
 #if( $foo && $bar )
 #if ( $foo || $bar )
 #if ( !$foo )
12. Foreach循环 :
 #foreach ( $product in $allProducts )
   <li> $product </li>
 #end
 如果$product是一个java的Product类,并且这个产品的名字可以通过调用他的getName()方法得到。
 现在我们假设$allProducts是一个Hashtable,如果你希望得到它的key应该像下面这样:
 <ul>
 #foreach ( $key in $allProducts.keySet() )
 <li>Key: $key -> Value: $allProducts.get($key) </li>
 #end
 </ul>

13. Velocity还特别提供了得到循环次数的方法:
 <table>
  #foreach ( $customer in $customerList )
  <tr><td>$velocityCount</td><td>$customer.Name</td></tr>
  #end
 </table>
$velocityCount变量的名字是Velocity默认的名字,你也可以通过修改velocity.properties文件来改变它。默认情况下,计数从"1"开始,但是你可以在velocity.properties设置它是从"1"还是从"0"开始。

13. include

#include script element允许模板设计者引入本地文件。被引入文件的内容将不会通过模板引擎被render。为了安全的原因,被引入的本地文件只能在TEMPLATE_ROOT目录下。
#inclued ( "one.txt" )
如果您需要引入多个文件,可以用逗号分隔就行:
#include ( "one.gif", "two.txt", "three.htm" )
在括号内可以是文件名,但是更多的时候是使用变量的:
#inclue ( "greetings.txt", $seasonalstock )

14. parse
 #parse script element允许模板设计者一个包含VTL的本地文件。Velocity将解析其中的VTL并render模板。
 #parse( "me.vm" )任何由#parse指向的模板都必须包含在TEMPLATE_ROOT目录下。与#include不同的是,#parse只能指定单个对象。
 你可以通过修改velocity.properties文件的parse_direcive.maxdepth的值来控制一个template可以包含的最多#parse的个数――默  认值是10。

15. Stop:
 #stop script element允许模板设计者停止执行模板引擎并返回。把它应用于debug是很有帮助
 e.g: #stop

16. Velocimacros
 #macro script element允许模板设计者定义一段可重用的VTL template。例如:
 #macro ( d )
 <tr><td></td></tr>
 #end
 在上面的例子中Velocimacro被定义为d,然后你就可以在任何VTL directive中以如下方式调用它:
 #d()

17. Velocimacro,一个参数是color另一个参数是array:
 #macro ( tablerows $color $somelist )
 #foreach ( $something in $somelist )
 <tr><td bgcolor=$color>$something</td</tr>
 #end
 #end

分享到:
评论

相关推荐

    velocity学习笔记

    ### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...

    velocity学习笔记与struts2整合

    Velocity是Apache软件基金会的一个开源项目,它是一款快速、强大且易用的模板引擎,用于生成动态Web内容。在Java世界中,Velocity常被用来作为MVC框架中的视图层技术,与Struts2等框架集成,以实现更灵活的页面渲染...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    大数据技术原理学习笔记.docx

    本笔记基于林子雨老师在MOOC上的《大数据技术原理》课程,旨在为IT从业者和大学生提供一个全面了解大数据的基础框架。 首先,我们要认识到大数据的发展背景。随着互联网的普及,以及物联网、社交媒体、移动设备等...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...

    SpringBoot学习笔记.docx

    这篇学习笔记将引导我们深入了解 SpringBoot 的基本用法,包括项目的创建、返回视图、数据库交互、前端与后端数据传递、日志管理和安全控制等方面。 1. **新建项目**: 创建 SpringBoot 项目通常是通过 Maven 或 ...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    java私人学习笔记

    Java私人学习笔记主要涵盖了Java编程语言以及与其相关的几个著名框架——Spring、Struts2和Hibernate,还有前端开发中常用的JavaScript。这些技术在IT行业中的应用广泛,是许多企业级应用开发的基础。以下是对这些...

    Spring3.0学习笔记

    尚学堂的Spring学习笔记.doc可能包含对这些特性的详细解释、实例代码以及如何在实际项目中应用的指导,对于想要深入理解Spring 3.0的开发者来说是一份宝贵的参考资料。通过阅读这份笔记,你可以系统地学习Spring 3.0...

    Hadoop学习笔记整理

    "Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...

    struts2入门教程和学习笔记

    这个入门教程和学习笔记是针对初学者设计的,帮助他们快速理解和掌握Struts2的核心概念和实践操作。 Struts2的学习首先需要理解MVC模式。MVC模式将应用逻辑分为三个部分:模型负责业务逻辑,视图负责展示数据,而...

    Freemaker_入门+深入+开发指南+学习笔记

    相比于其他模板引擎如Velocity,Freemaker支持更为灵活的过程调用、递归处理以及闭包回调等功能,使得开发者能够更加便捷地实现复杂的业务逻辑。 #### 二、基本语法 Freemaker使用特定的标签来定义其语法结构,这些...

    Struts2_学习笔记

    本学习笔记将深入探讨Struts2的核心概念、工作原理以及如何在实际开发中有效利用它。 **1. MVC模式与Struts2** MVC模式是一种软件设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

Global site tag (gtag.js) - Google Analytics