美文网首页
velocity学习笔记

velocity学习笔记

作者: capo | 来源:发表于2017-09-16 10:56 被阅读23次

变量的定义

#set($name = "hello")
变量引用尽量规范
Java is Hello ${name}

变量赋值

#set($P{monkey.Friend="monica"}) //这是赋值一个string

注意:

1.如果右边值是null,则左边不会被赋值,会保留以前的值

2.velocity模板不会将reference解释为对象的实例变量

例如: $foo.Name 将被解释为Foo对象的getName()方法,而不是Foo对象的Name实例变量

循环

#foreach ($element in $list)

This is $element

$velocityCount //这个表示的数量

#end

条件语句

#if(condition)

#else if(condition)

#else

#end

语句的嵌套

#foreach($element in $list)

## 内部循环

#foreach ($element in $list)

$element

#end

## 外部循环

$element

#end

注释

(1) 单行注释

## 表示单行注释

(2) 多行注释

#* 这是多行注释*#

(3) 文档格式注释

#** 这是文档注释

@version 1.1

@author minglangx

*#

关系和逻辑操作符

#if($foo && $bar)

This AND that

#end

Velocity中的宏

Velocity中的宏我们可以理解为函数

(1) 宏的定义

#marcro(宏的名称 $参数1  $参数2....)

语句体

#end

(2) 宏的调用

#宏的名称($参数1 $参数2...)

说明: 参数之间用空格隔开

#stop

停止执行模板引擎并返回,把它应用于debug调试

#include与#parse

都是引入本地文件,为了安全,被引入的本地文件只能在TEMPLATE_ROOT目录下。

区别:

(1) #include可以引入多个文件,可以用逗号分隔。

#include("one.gif","two.txt","three.htm")

在括号内可以是文件名,但是更多的是使用变量

#include($test)

(2) include被引入的文件的内容将不会通过模板引擎解析

而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板意思就是直接将引入文件的内容复制到当前文件中

例如: 当前文件 dofoo.vm

Count down.

#set ($count=8)

## 这里引用了一个vm文件直接追加到当前代码中

#parse("parsefoo.vm")


ALL done with dofoo.vm!

那么在parsefoo.vm模板中,你输入一下内容

$count

#set ($count = $count -1 )

#if ($count > 0) 

#parse("parsefoo.vm")

#else


ALL done with parsefoo.vm!

#end

最后显示结果:

Count down.

8

7

6

5

4

3

2

1

0

All done with parsefoo.vm!

All done with dofoo.vm!

10. 转义字符 ''的使用

如果引用被定义, 两个'\‘只会输出一个'',如果未被定义,刚按原样输出. 例如:

#set($email = "foo" )

$email

\$email

\\$email

\\\$email

输出:

foo

\$email

\foo

\$email

如果$email 未定义

$email

\$email

\\$email

\\\$email

内置对象

Velocity内置了一些对象,在vm模板里可以直接调用,例如:$request、$response、$session

数组访问

如果需要访问特定的元素需要传入相应的下标

相关文章

  • velocity学习笔记

    变量的定义 变量赋值 注意: 1.如果右边值是null,则左边不会被赋值,会保留以前的值 2.velocity模板...

  • RNA velocity of single cells文献学习

    在之前的一个视频学习系列笔记里,有一篇笔记提到了RNA velocity(Single cell RNA-seq ...

  • velocity学习

    velocity模板引擎 velocity是一个基于Java的模板引擎。它能够做到在前端页面使用模板语言来引用Ja...

  • Velocity 语法笔记

    前言在参考官方的翻译文档时, 很多语句的翻译的还有点生硬, 而且我在学的过程中有些地方读起来很吃力, 我相信也会有...

  • velocity基本使用

    1. Velocity 开发 apache Velocity开发指导传送门 1.1 Velocity使用流程 初始...

  • 模板引擎velocity

    本文基于 Velocity 1.7 版本撰写。 概述 什么是Velocity? Velocity是一个基于java...

  • velocity 学习之HelloWorld

    Velocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。...

  • RNA velocity处理流程

    关于RNA velocity RNA velocity介绍[https://www.jianshu.com/p/7...

  • 破解 Velocity

    1. Velocity (Dash for Windows) Velocity 是一款API查询工具,是Dash在...

  • Eclipse使用

    eclipse velocity插件

网友评论

      本文标题:velocity学习笔记

      本文链接:https://www.haomeiwen.com/subject/vpyysxtx.html