一、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. 蓝色的oa模板html_综合信息服务管理平台OA模板——后台

    链接:http://pan.baidu.com/s/1qXGGOAK 密码:2otu

  2. 对Feign的请求url 重写

    需求:对当前请求的 url 重新构建 debug feign 的执行可知,重写 LoadBalancerFeignClient 类中的 execute 方法即可控制当前请求的url 代码分析 当引入  ...

  3. MongoDB之数据库命令操作(二)

    现在详细学习一下mongodb的数据库操作. 查询语句 db.xxx(集合name).find() # 查询 db.xxx(集合name).findOne() # 只返回一个 db.xxx(集合nam ...

  4. py,pyc,pyw文件的区别和使用

    熟悉python编程的都知道,python三种最常见的py文件格式,.py,.pyc,.pyw,下面说一说它们各自的使用. py文件 python最常见的文件,是python项目的源码: 文件执行时l ...

  5. 利用__attribute__((section()))构建初始化函数表【转】

    转自: https://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663356&idx=1&sn=7797629530 ...

  6. Linux 内核进程管理之进程ID【转】

    转自:http://www.cnblogs.com/hazir/p/linux_kernel_pid.html Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构, ...

  7. C# 开发(创蓝253)手机短信验证码接口

    创蓝253: https://www.253.com/ #region 获取手机验证码(创蓝253) /// <summary> /// 获取手机验证码(创蓝253) /// </s ...

  8. 解决su – 后显示-bash-4.1#

    <1>现象 设置tfs的管理用户时. su - admin时,出现 -bash-4.1# <2>解决 chown  admin:admin /home/admin        ...

  9. log4j生成日志

    Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可 ...

  10. group by的运用

    select a.* from zeai_photo a inner join (select max(id) mid,userid from zeai_photo group by userid) ...