Velocity模板引擎

Velocity模板引擎深入分析与实践 Velocity最初由Apache软件基金会的Jakarta Turbine项目开发,它是为了给Turbine提供模板服务而设计。自2000年首次发布以来,Velocity已经发展成为广泛使用的模板引擎,不仅限于Java平台,还支持其他编程语言。随着版本的更新,Velocity引擎持续添加新特性,如对RESTful服务的支持等,保持其在动态网页生成、报表生成等领域的竞争力。分离关注点(SoC)是一种软件工程设计原则,旨在确保软件的不同部分负责不同的功能,从而减少各个部分之间的依赖性。 阅读详情

Velocity是一个基于java的模板引擎。它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。

当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

Velocity基本语法和使用:

1. "#"用来标识Velocity的脚本语句。

如:#set、#if 、#else、#foreach、#end、#include、#parse、#macro等。

2. "$"用来标识一个对象(或理解为PHP的变量)

如: 、 i、user等。

3. "{}"用来明确标识Velocity变量,和普通模版字符串区分开来;

如:${user}‘s age 可以显示为 riqi's age。

4. "!"强制把不存在的变量显示为空白。

如: ,假如对象为空,则模版中不显示该变量;如果缺少,则显示 !msg,假如msg对象为空,则模版中不显示该变量;如果缺少"!",则显示msg字符串,这是我们不想要的结果。

5. 变量的定义和赋值。不需要指定变量的类型,类似弱类型语言PHP可以随意指定,在赋值后自动判定变量的类型,如:

#set($username="riqi") ##设置用户名
#set($age=26) ##设置年龄

6. 数组循环:

#foreach ($user in $users)
    $!{user} $!{velocityCount} <br /> 
#end

可以是、或者,提供了得到循环次数的值: users可以是Vector、Hashtable或者Array,Velocity提供了得到循环次数的值:velocityCount。

7. 语句注释:

单行注释:## 单行注释代码

多行注释:#* 多行注释代码 *#

8. 模版支持关系和逻辑操作符运算,如:&&、||、! 等

9. 宏定义:#macro ,类似PHP声明一个函数,其中有函数名称和参数列表。先定义再调用。

10. 终止命令:#stop,类似PHP的exit(); 停止执行模板引擎并返回。

11. 引入公共模版文件:#include与#parse,它们的差异是:

(1) 与#include不同的是,#parse只能指定单个对象。而#include可以有多个

如果您需要引入多个文件,可以用逗号分隔就行:

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

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

#include ( “greetings.txt”, $seasonalstock )

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

而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。

#parse是可以递归调用的。

12. 转义字符'\'.

这个和其它语言没有差异,假如: 那么,表示输出 user="riqi";那么,$user表示输出user字符串,\\$user表示输出\riqi。

13. Velocity内置了一部分java对象 如: 、 request、response、$session等,在vm模版里可以直接调用。

------------------------------------------------------------------------------------

细节整理:

1. Velocity判断某个变量是否为空的方式:

?
1
# if ($!变量名)……# else ……#end

或者:

?
1
# if ( "" == $!varName)……# else ……#end
零基础NPU固件开发学习路线--1.4 学习路线与工具链:编译器、仿真器、调试器、烧录工具 本文系统介绍了NPU固件开发的学习路径与工具链。学习路线分为四个阶段:基础认知、环境搭建、模块开发和联调量产。重点讲解了交叉编译器、代码管理工具、调试器和烧录工具等核心工具链的使用方法。文章强调工具链在NPU固件开发中的关键作用,详细阐述了从代码同步到固件烧录的全流程开发闭环,为开发者提供了一条从零基础到独立开发的完整学习路径。 阅读详情

相关推荐

STM32CubeMx + FatFs 实战:SD卡DMA传输中断回调问题深度解析

本文深度解析了在STM32CubeMx环境下,结合FatFs文件系统并使用DMA进行SD卡读写时,程序可能出现的“卡死”问题。核心原因在于HAL库的弱函数回调机制未被正确处理,导致DMA传输完成中断后,状态机锁死。文章提供了两种实战修复方案:直接修改HAL库文件或在用户代码中重写回调函数,并给出了关键的配置检查点与调试技巧,帮助开发者彻底解决SD卡DMA传输中断回调失效的难题。

weixin_29176179的博客 331

Velocity模版引擎使用总结

Velocity是一个基于java的模板引擎。它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期...

weixin_30443813的博客 201

《YOLOv8实例分割实战:训练自己的数据集 》(视频课程)

本课程将手把手地教大家使用labelme标注和使用YOLOv8训练自己的数据集,完成一个多目标实例分割实战项目。

bai666ai的博客 790

java velocity模板引擎_使用velocity模板引擎

使用 velocity 模板引擎Velocity is a Java-based template engine. It permits anyone to use a simple yet powerful template language to reference objects defined in Java code.When Velocity is used for web devel...

weixin_34315264的博客 390

ADS1220 STM32硬件SPI驱动程序

前一段时间温故了下标准库,使用的是F1系列芯片,测试程序。

随风飘零翼的博客 5771

2026年数据中心运行与管理专业人才培养基地建设方案(高职、数据中心运行与管理新专业、人才培养、专业代码:510310)

摘要: 为响应国家“东数西算”战略和数字经济需求,我校拟联合行业领军企业建设数据中心运行与管理人才培养基地。项目基于国家政策引导和产业快速发展背景,针对行业10万人才缺口,对标教育部新设专业标准(510310),分三阶段实施五年规划:专业奠基(2026-2028)、内涵深化(2028-2029)、辐射引领(2030-2031)。建设内容涵盖校企协同岗位能力分析、模块化课程开发(如网络管理、自动化运维等)、实训基地搭建及“课证融通”培养模式,重点培养基础设施、网络服务、运维托管三类岗位技能人才,目标建成区域性

啊碧根果的博客 1690

velociy模板引擎使用详解

1.velocity简介 Velocity  是一个基于 Java 的模版引擎。它允许 web  页面设计者引用 JAVA 代码预定义的方法。 Web  设计者可以根据 MVC 模式和 JAVA 程序员并行工作,这意味着 Web 设计者可以单独专注于设计良好的站点,而程序员则可单独专注于编写底层代码。 Velocity  将 Java  代码从 web 页面中分离出来,使站点在长时间运行后仍然具

hil2000的专栏 4994

HMC7044芯片模拟SPI配置

摘要: HMC7044是一款高性能双环路整数N分频抖动衰减器,支持SPI接口配置,适用于高速数据转换器时钟系统。该芯片采用双PLL级联架构,具有14路可配置输出,可满足GSM/LTE基站设计需求。SPI接口采用3线模式(SLEN/SCLK/SDATA),支持24位寄存器读写(13位地址+8位数据)。驱动实现基于Zynq EMIO模拟SPI,提供初始化、数据传输及寄存器配置功能,支持三线制工作模式和多种时钟参数设置。

toonyhe的博客 1098

代码生成器模板引擎值velocity

1.velocity介绍 1.1 什么是velocity? Velocity是一个基于java的模板引擎(template engine)。可以使用简单的模板语言(templatelanguage)来引用由java代码定义的对象。 Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供便利,同时也在JSP和PHP之间提供了一种可选的方案。也许您可能会有疑问,什么是模板引擎呢? 1.2什么是模板引擎? 官方说,模板引擎(web开发模板引擎)是为了使用用户界面与业务数据.

chenjian723122704的专栏 3597

10X Genomics单细胞数据分析实战:从FASTQ到UMAP可视化的完整流程

本文详细介绍了10X Genomics单细胞数据分析的完整流程,从FASTQ原始数据处理到UMAP可视化。通过Seurat工具包实现数据质量控制、标准化、降维聚类和细胞注释,特别适合生物信息学新手学习。文章包含可复现的代码示例和常见问题解决方案,帮助研究者快速掌握单细胞测序数据分析的核心技术。

weixin_30952535的博客 535

SAP CPI 如何代理第三方接口?

代理接口是指在系统 A 和系统 B 之间引入一个中间层(如 SAP CPI),由中间层负责接收来自系统 A 的请求,进行必要的处理或转换,然后将请求转发给系统 B。由于 OData 服务通常使用 JSON 格式的数据,而某些内部系统可能需要 XML 格式,因此我们添加一个 JSON 到 XML 的转换器,以确保数据格式的兼容性。为了确保返回的数据格式符合内部系统的要求,添加一个 XML 到 JSON 的转换器,将 OData 服务的响应从 XML 转换为 JSON。在集成包中,添加一个新的集成流,命名为。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1748

SpringBoot-Velocity模板引擎

它允许任何人仅仅使用简单的模板语言来引用由java代码定义的对象。本案例使用动态生成文件。

孟孟的博客 2967

Android功耗系列专题理论之六:外设功耗问题分析方法

本文介绍了移动设备功耗问题的分析方法,重点针对传感器和GPU两大模块。传感器部分详细讲解了通过ADB命令获取日志、状态差异分析和单传感器隔离测试的排查方法,并给出优化建议。GPU部分从基础功耗测量、场景测试到功能模块拆解进行多维度分析。同时阐述了GNSS/GPS功耗的测试方法,包括前后台对比、星座双频拆解及SAP/DPO等特殊功能的电流分析,为移动设备功耗优化提供系统性的诊断思路。

374

velocity模板引擎

Apache Velocity Project 官网Velocity Engine基础Velocity 模板引擎使用介绍

pscool的博客 675

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

velocity模板引擎语法

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

hj12312的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java模板引擎 Velocity

在Java开发中,模板引擎是一种非常实用的工具,它通过模板与数据的结合,生成所需的内容,帮助开发者实现代码与界面的分离。Apache Velocity 是一种轻量级且功能强大的Java模板引擎,它因其简单的语法和灵活的扩展性而备受欢迎。本文将详细介绍Velocity模板引擎的特点、工作原理、使用方法以及其在实际开发中的应用场景。

cooldream2009的博客 2374

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【模板引擎】velocity

Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !Velocity主要分为app、context、runtime和一些辅助util几个部分。app模块 : 主要封装了一些接口 , 暴露给使用者使用。主要有两个类,分别是Velocity(单例)和VelocityEngine。Context模块 : 主要封装了模板渲染需要的变量Runtime模块 : 整个Velocity的核心模块,Runtime模块会将加载的模板解析

文艺倾年的博客 4758

velocity模板引擎-vm语法整理

velocity模板引擎-vm语法整理 模板引擎我目前接触过两次, 第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费,所以使用模板引擎主动生成静态页面,当时使用的是FreeMarker实现的。 第二次是在邮件发送时,想要直接展示制表符等等,使用velocity引擎,vm模板实现。 目录 velocity模板引擎-vm语法整理 一、Velocity 模板引擎介绍 二、入门HelloWord 三、模板基本语法

xinpz的博客 1万+

velocity-engine-core是什么?Velocity模板引擎的使用

除此以外,Velocity还提供了 Velocity-Tools工具包,他是Veloctiy下的一个子模块,参考gitee,Veloctiy-Tools主要包含2个部分:GenericTools和VelocityView ,前者提供了一些常用的工具类,比如DateTool, MathTool等等,后者主要是应用于web环境。像我使用,使用velocity就是用来生成代码,所以导入 velocity-engine-core 就足够了,也没有导入springboot集成的velocity starter。

A-Itfuture的博客 5831

velocity模板引擎原理

在ruoyi-generator模块下新增一个区域的实体类。

m0_63454617的博客 1312

模板引擎Velocity 基础

Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离 !

一切总会归于平淡 2158

【Velocity五】Velocity模板引擎

 脱离Servlet容器使用Velocity   package com.tom.velocity; import java.io.InputStream; import java.io.StringWriter; import java.util.Properties; import org.apache.velocity.Template; import org.ap...

bit1129的博客 262

Velocity 模板引擎介绍

Velocity 模板引擎的简单介绍及基本语法,并通过Helloworld Demo进行讲解

Frankenstein的博客 1073

Velocity 模板引擎使用介绍

end// 使用工具类HELLO} } // 配置 Velocity 引擎使用自定义处理器 velocityEngine . setProperty("eventhandler.referenceinsertion.class" , "com.example.CustomReferenceHandler");

u013675821的博客 4467
上一篇: MySQL中的存储引擎
下一篇: 乐观锁与悲观锁
魅影骑士0050
博客等级 码龄12年 24粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值