一、Velocity是什么

Velocity是一个基于Java的模板引擎,允许任何人仅仅简单地使用模板语言就可以引用由Java代码编写的对象。

二、Velocity的基本语法

1.变量

  • 变量的定义

    在Velocity中,变量的类型是弱类型的。
#set($name = 'xiaoqian');

当用#set指令的时候,#set命令后面的括号中的字面字符串将被解析和重新解释。

#set($begin = 'www');
#set($end = 'index.vm');
#set($all = "$begin/$end");

$all的值为www/index.vm

  • 变量规范的写法

    ${name},也可以写成$name,提倡前面一种写法。
tom is a last $nameline;//这种情况下Velocity不能识别出您到底要使用什么变量
tom is a last ${name}line;//用{}括起来就比较清晰

但是在引用属性的时候不要加{}

  • 变量的赋值

    赋值的变量左边必须是一个变量或者属性引用,右边可以是下面6种值之一。

    变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表
#set($aa = $bb);
#set($aa.c = 'tomcat');

注意:

(1)如果上面例子的右边值为null,那么左值不会被赋值,会保留原来的值。

(2)Velocity模板中未被定义的变量将被认为是一个字符串

(3)Velocity模板不会将reference解释成对象的实例变量

2.循环

#foreach ($element in $list)
$VelocityCount
This is $element
#end //举例
#set($list = ['apple','pear','pink']);
#foreach ($element in $list)
$VelocityCount
This is $element

上面例子输出的是

1 This is apple

2 This is pear

3 This is pink

3.条件语句

#if(condition)
#elseif(condition)
#else
#end

4.语句的嵌套

#foreach ($element in $list)

#inner foreach

5.将不存在的变量或者变量的值为null强制显示为空白

$!name或者$!{name}

因为如果不在前面加上!,那么在变量不存在或者变量值为null的时候,就直接会显示原来的字符

举例:

$name,当name不存在的话,就直接会显示$name,如果加上!的话,就会显示空白,这样才比较合理

Velocity模板学习(一)的更多相关文章

  1. velocity模板引擎学习(4)-在standalone的java application中使用velocity及velocity-tools

    通常velocity是配合spring mvc之类的框架在web中使用,但velocity本身其实对运行环境没有过多的限制,在单独的java application中也可以独立使用,下面演示了利用ve ...

  2. velocity模板引擎学习(3)-异常处理

    按上回继续,前面写过一篇Spring MVC下的异常处理.及Spring MVC下的ajax异常处理,今天看下换成velocity模板引擎后,如何处理异常页面: 一.404错误.500错误 <e ...

  3. 使用 Velocity 模板引擎快速生成代码(zhuan)

    http://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ ****************************************** ...

  4. 《Velocity 模板使用指南》中文版[转]

    转自:http://blog.csdn.net/javafound/archive/2007/05/14/1607931.aspx <Velocity 模板使用指南>中文版 源文见 htt ...

  5. 使用Velocity 模板引擎快速生成代码

    Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中.特别是在如今特别流行的MVC架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加高. ...

  6. Velocity 模板

    Velocity 模板引擎介绍 引:https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ 在 现今的软件开发过程中,软件开发人员将更多的 ...

  7. velocity模板加载

    http://hi.baidu.com/ly_dayu/item/828b09c5c3c5e547a8ba9409 velocity使用基本来说比较简单,但在加载模板时老出问题,很多初学者经常会遇到找 ...

  8. Velocity模板引擎语法

    Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...

  9. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

随机推荐

  1. VScode格式化ESlint

    打开 文件-首选项- 设置 mac可以按快捷键(command和,) 然后在右上角的省略号选择open setting json { // vscode默认启用了根据文件类型自动设置tabsize的选 ...

  2. 游戏的物理和数学:Unity中的弹道和移动目标提前量计算

    下载地址:https://www.jianguoyun.com/p/DZPN6ocQ2siRBhihnx8 弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其实还是挺 ...

  3. openjudge-NOI 2.6-1775 采药

    题目链接:http://noi.openjudge.cn/ch0206/1775/ 题解: 很经典的01背包问题,设时间为t,价值为v 一维压缩,状态转移方程fj=max(fj,fj-ti+vi) # ...

  4. 开源介绍:Google Guava、Google Guice、Joda-Time

    一.Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency lib ...

  5. MySQL 视图、触发器、函数、存储过程

    1. 视图 1.1 什么是视图 通俗来讲,视图就是一条 select 语句执行后返回的结果集.所有我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上. 1.2 视图的特性 视图是对若干张基 ...

  6. docvalue and fielddata

    大部分字段类型默认被索引的(inverted index),可以被搜索search: 哪个文档有这个词sort&aggregations: look up the document and f ...

  7. 以太坊go-ethereum客户端JSON-RPC API调用(一)

    前几篇博客主要介绍了go-ethereum客户端不同环境的搭建,今天这篇博客是建立在前几排博客的基础上.当搭建完成之后,我们可以通过各种方式与节点进行交互(JavaScript Console.JSO ...

  8. 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 继续前面关于深度学习CNN经典模型的 ...

  9. csu 1798(树上最远点对,线段树+lca)

    1798: 小Z的城市 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 60  Solved: 16[Submit][Status][Web Board] ...

  10. EF – 8.多对多关联

    5.6.10 <多对多关联(上)> 时长:9分57秒 难度:难 5.6.11<多对多关联(下)> 时长:8分50秒 难度:难 如果单独地把多对多关联的CRUD拿出来讲,确实比较 ...