(一) velocity语法与配置项

一、Velocity Template Language (VTL)介绍

   1、#set

        用来定义页面内使用的变量。例如:

        

#set( $monkey = $bill ) ## variable reference
#set( $monkey.Friend = "monica" ) ## string literal
#set( $monkey.Blame = $whitehouse.Leak ) ## property reference
#set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference
#set( $monkey.Number = 123 ) ##number literal
#set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList
#set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"}) ## Map

   2、comment

 

    注释语法为# ,#* *#,#**  *#

 

   3、References

   References有三类,分别是variables, properties and methods,分别举例如下:

   variables:

 

$foo

    推荐写法 $!foo ,值不存在的时候,会用空字符串替代 

 

 

   properties :

$customer.Address

 

 

   methods:

   

$customer.getAddress()
$purchase.getTotal()
$page.setTitle( "My Home Page" )
$person.setAttributes( ["Strange", "Weird", "Excited"] )

 

 

   4、If / ElseIf / Else

   逻辑分支判断,例如

   

#if( $foo < 10 )
    <strong>Go North</strong>
#elseif( $foo == 10 )
    <strong>Go East</strong>
#elseif( $bar == 6 )
    <strong>Go South</strong>
#else
    <strong>Go West</strong>
#end    

 

 

 5、#foreach

  一下是该标签的常用代码实例片段,

 

一般的例子
 <ul>
#foreach( $product in $allProducts )
    <li>$product</li>
#end
</ul

Map循环的例子
<ul>
#foreach( $key in $allProducts.keySet() )
    <li>Key: $key -> Value: $allProducts.get($key)</li>
#end
</ul>

通过$foreach.count获取循环计数器,类似的还有($foreach.index,$foreach.last, $foreach.first等)
<table>
#foreach( $customer in $customerList )
    <tr><td>$foreach.count</td><td>$customer.Name</td></tr>
#end
</table>

通过$foreach.hasNext来判断是否是最后一次循环
#foreach( $customer in $customerList )
    $customer.Name#if( $foreach.hasNext ),#end
#end

通过#break来中断循环
## list first 5 customers only
#foreach( $customer in $customerList )
    #if( $foreach.count > 5 )
        #break
    #end
    $customer.Name
#end

 

6、#include

 该标签用来引入一个本地文件,引入的时候是静态引入,不会被Velocity Engine进行render.并且基于安全原因,被引入文件最好被放在TEMPLATE_ROOT下

   简单例子如下:

  

#include( "one.txt" )

如果有多个文件需要引入,可以用逗号分隔
#include( "one.gif","two.txt","three.htm" )

同时引入两个文件,其中一个文件用变量来指定路径以及文件名
#include( "greetings.txt", $seasonalstock )

 

 

   7、#parse

   对比#include,该标签可以包含VTL,可以被Velocity Engine进行render。但是只接受一个参数

 

  8、#stop

   该标签后面的html将不进行解析和展现

 

  9、#evaluate

   对字符串进行render,感觉用处不大

 

 10、#define

   相当于一个“函数”,定义一个代码块,可在后续进行引用,例如:

  

 #define($myfunc) $who,hello!#end

    #set($who="kongxuan")
    $myfunc

  运行结果:

  kongxuan,hello!

 

 11、#macro

 宏调用,是一个非常重要的指令。用来抽取页面中重复的VTL代码片段。

 

 

    #macro( tablerows $color $somelist )
        #foreach( $something in $somelist )
            <tr><td bgcolor=$color>$something</td></tr>
        #end
    #end

    #set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )

    #set( $color = "blue" )
    <table>
        #tablerows( $color $greatlakes )
    </table>

  注意:宏可以写在文件VM_global_library.vm里面,resource根目录下,且需要新增配置项:

  在velocity.properties中新增配置项velocimacro.library=VM_global_library.vm

 

二、velocity配置项

 

(待续)

 

 

 

 

 

 

 

 

 

    

      

 

python代码实现了一个基于图注意力网络(GAT)和长短期记忆网络(LSTM)的股票成交量预测模型 自定义数据集类:定义了类,继承自。该类用于生成股票数据的时间序列样本,每个样本包含一个长度为seq_length的时间序列和对应的目标成交量。数据加载器:使用DataLoader对数据集进行批量加载,设置批量大小为 64,并开启数据打乱功能。GAT - LSTM 模型:定义了GAT_LSTM类,继承自。该模型结合了 GAT 和 LSTM 两种神经网络:GAT 部分:使用GATConv处理全局图特征,捕获股票之间的相互关系。LSTM 部分:使用nn.LSTM处理时间序列数据,捕捉时间序列的动态变化。 阅读详情

相关推荐

用Multisim和74HC系列芯片,手把手教你搭建一个能“算数”的简易CPU模型

本文详细介绍了如何使用Multisim仿真软件和74HC系列芯片搭建一个简易CPU模型,重点解析了74HC194寄存器和74HC283加法器的核心功能与连接方法。通过分步图解和实战调试,帮助读者理解CPU工作原理,掌握数字电路设计的基本技能,适合计算机组成原理初学者和电子爱好者实践学习。

weixin_26843605的博客 139

Velocity配置详解

转自:http://blog.youkuaiyun.com/zengdeqing2012/article/details/51140239  一 springmvc中velocity配置详解 1.1 web.xml配置 [html] view plain copy context-param>           param-name>contextC

在路上 6772

Maxwell涡流热损计算:铜导体在50Hz交流下的仿真实践

本文详细介绍了使用Maxwell软件进行铜导体在50Hz交流条件下的涡流热损仿真实践。从涡流热损的基本概念到Maxwell仿真设置、网格划分、结果后处理等关键步骤,提供了实用技巧和常见问题解决方案,帮助工程师准确计算涡流热损,优化电力设备设计。

weixin_42526015的博客 390

【JAVA& Velocity】velocity配置详解

velocity配置详解 在velocity二方包中有一个velocity.properties 文件定义了velocity的配置信息(位于org.apache.velocity.runtime.defaults package下,org.apache.velocity.runtime.RuntimeConstants中定义了key值) #模板编码: input.encod

一个人的软件艺术 1642

如何实现VMware虚拟机上的ubuntu与windows主机共享文件夹

windows主机部分   在硬盘上任意位置新建文件夹,此处命名为Share,实际上随意。 接下来右键属性,操作如下系列图所示: 在硬盘上任意位置新建文件夹,此处命名为Share,实际上随意。 成功修改后,显示如下界面: VMware部分 ubuntu在关机状态下,点击“编辑虚拟机设置” 接下来,开启ubuntu系统,在终端输入: ·· vmware-hgfsclient ·· 将会显示如下画面,但是此时你可能找不到 /mnt/hgfs 这个路径,如果找不到该路径,则需要在虚拟

Mr.Sliver的博客 8218

基于 Cognex VisionPro 的工业级图像匹配技术全解析

通过本文的深度解析,开发者可以系统掌握 Cognex VisionPro 图像匹配技术的核心原理、开发流程、优化策略及工业级应用。实际项目中,需结合具体场景灵活调整参数,综合运用预处理、特征提取和匹配算法,构建稳定可靠的视觉系统。

品质生活,极致编程。 1594

velocity foreach 判断是否是最后一个

为了做代码生成工具,得用velocity写模板,写呗。经常有在循环内判断是否是最后一个元素的需求,使用 $foreach.hasNext 或 $foreach.last就可以完成这种逻辑,不需要什么count。下面是一个例子:这段代码使用velocity来生成sql代码段,其作用是遍历某张表的所有列,列名之间用逗号隔开,如果是最后一列则不添加逗号。 &lt;sql id="${classname}...

You can't stand me now 8511

PCL 点云加权均值收缩

PCL 点云加权均值收缩

dayuhaitang1的博客 689

velocity 配置文件详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34233856的博客 432

华为OD机试 新系统真题 【数字系统转换器】

华为OD机试 新系统真题【数字系统转换器】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【数字系统转换器】多语言题解。

qq_45776114的博客 542

【嵌入式DIY实例ESP32篇】-步数计数器

在本项目中,我们将使用 ESP32 微控制器和博世的 BMI160 加速度计陀螺仪模块构建一款便携式计步器

视觉与物联智能 803

Velocity初探小结--velocity使用语法详解

  做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上就完成了所有的业务逻辑代码,能够实用平台的API,这是jsp的一个优点,所谓物极必反,这一点在某些方面也成了它的一个缺点,内容和表示的界限变得很模糊,使得mvc分层不够彻底.   Velocity...

weixin_34304013的博客 191

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

什么是Velocity?以及Velocity的语法

Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离!Velocity Template Language (VTL) , 是Velocity 中提供的一种模版语言 ,旨在提供最简单和最干净的方法来将动态内容合并到网页中。简单来说VTL可以将程序中的动态数展示到网页中注释 , 非解析内容 , 引用和指令。

Front end development engineer 2385

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

velocity 模板语法

velocity 模板语法前言1. 访问1.1 变量1.2 属性1.3 方法2. 指令2.1 #set 创建变量2.2 #if/#elseif/#else 分支控制2.3 #foreach 循环控制2.4 #include - 引入本地文件,文本展示2.5 #parse - 引入本地文件,velocity 解析后展示2.6 #stop - 停止模板解析2.7 #break - 停止当前指令2.8 #evaluate - 动态解析字符串或引用2.9 #define - 定义一个“块”引用2.10 #mac

qq_22783587的博客 3576

关于velocity 一语法篇

    一个古老而又强大的模版引擎。在模版引擎中,velocity中,应该属于最常用的,不管是在maven的项目模版,还是在源代码输出,甚至直接网页输出中,都可以看到其身影。当然,最近的freemarker大有平分天下之意。   以前的时候,曾用velocity设计过一个自动代码的项目,在用的过程中,享受了其简单而又灵活的功能。后来由于,自动代码的项目一直没有什么进展,也就很少去关注velocit

闲人别居 2470

velocity模板引擎语法

最近,脚手架和代码生成器比较火。mybatis-plus,mybatis-generator,gun,码云上也有很多项目有这个功能. 最近我根据公司的编程习惯以及微服务框架,为我们公司定制化了一个代码生成器,采用的是velocity模板引擎(当然模板引擎有多种,如freemarker等,可以按需选择哈)。        下面总结一下velocity的常用语法: 比如有一个JSONObject...

hj12312的博客 1万+

Velocity语法大全

一、基本语法 1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等; 如: #if($info.imgs) <img src="$info.imgs" border=0> #else <img src="noPhoto.jpg"> #end2、"$"用来标识一个对象(或理解为...

【优快云】 7031

Velocity常用语法

一、基本语法1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;如:#if($info.imgs)&lt;img src="$info.imgs" border=0&gt;#else&lt;img src="noPhoto.jpg"&gt;#end2、"$"用来标识一个对象(或理解

striner的博客 7474

Velocity基本常用语法

Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。作为一个比较完善的模板引擎,Velocity的功能是比较强大的,但强大的同时也增加了应用复杂性。 一、基本语法 1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等; 如: #if($info.imgs) &l

大叶子不小的博客 2385

[Velocity一]Velocity语法基础入门

用户和开发人员参考文档 http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html   注释 1.行级注释## 2.多行注释#*  *#   变量定义 使用$开头的字符串是变量定义,例如$var1, $var2,   赋值 使用#set为变量赋值,例如 #set($var1 =...

bit1129的博客 362

Velocity语法

<br /><br />一、基本语法1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;<br />如:<br />#if($info.imgs)<br /><img src="$info.imgs" border=0><br />#else<br /><img src="noPhoto.jpg"><br />#end<br /><br />2、"$"用来标识一个对象(或理解为变量);如<b

Alex的专栏 3683

java velocity 语法_Velocity初探小结--velocity使用语法详解

做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上就完成了所有的业务逻辑代码,能够实用平台的API,这是jsp的一个优点,所谓物极必反,这一点在某些方面也成了它的一个缺点,内容和表示的界限变得很模糊,使得mvc分层不够彻底.Velocity的写法比较...

weixin_39731782的博客 452

Velocity基本内容、语法、规则介绍

Velocity是一个基于Java的模板引擎,它允许使用简单而强大的模板语言来引用在Java代码中定义的对象。Velocity在Web开发中尤为突出,使得Web设计人员和Java程序员可以并行工作,遵循MVC(Model-View-Controller)模型开发Web站点。此外,Velocity的应用不仅限于Web领域,它还能用于生成SQL、PostScript和XML等,提供Java Server Pages(JSP)或PHP的可行替代方案。

ning的博客 1494

velocity语法

velocity,是一个基于Java的模板引擎,它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点。这是很好的一个地方,可以提高很多效率。下面来说下velocity的语法吧。 1.获取: $!(var):如果有值则输出,如果为空,则不显示; $...

有你相伴 平平淡淡也是真 1317

java velocity 语法_velocity语法

变量名$name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似$name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space。$!{name}类似$!name,为空时打印空字符串,但可以将变量和连续的字符串分隔。例如:$!{name}space。$name$!name${name}$!{name}为空时打印:"$name"...

weixin_30514427的博客 246
上一篇: Velocity前言
下一篇: (二)自定义velocity 标签
liyebing
博客等级 码龄20年 32粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值