velocity语法

velocity基础语法(部分)

北慕城南 提交于 2020-03-12 21:30:57
velocity是一个java的页面模板框架,Apache基金会出品,自从2010年出了1.7版本之后,就没有出新版本了,svn里面有一个2.0的分支,但是下载下来根本没有办法编译过,会有各种奇怪的maven依赖问题,据传已经把人调过去开发freemarker了。 其他的不说了,不更新,想好一点就是足够稳定了,不需要更新了。 下面是我在自学的时候整理的部分语法,贴在这里,大家来指正一下。:) ##关键字 所有的关键字都是以 # 开头的,而所有的变量则是以 $ 开头 ##变量 定义变量使用 #set( $iAm = "good!" ) ,而 #set( $hhh = "good! $iAm" ) 则会读取 $ 对应的变量的值,将值填充到对应的位置 在找不到对应的变量的时候会将其当成普通字符串进行处理 当时用单引号将 $xxx 引起来的时候不会对其进行变量替换 在使用变量的时候可以使用 $name 和 ${name} 的形式,但是对于同时定义了name和names的情况,$names就没办法正确识别了, 就只能用${names}的形式。 对于复杂的对象类型变量,使用${person.name}可以访问得到name属性的值,其实这是通过对get方法的访问得到的, 也就是 ${person.name} 等同于 ${person.getName()} ###变量赋值 变量是弱类型的

Velocity基本常用语法

≯℡__Kan透↙ 提交于 2020-02-14 00:13:38
Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。作为一个比较完善的模板引擎,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"> #end 2、"$"用来标识一个对象(或理解为变量);如 如:$i、$msg、$TagUtil.options(...)等。 3、"{}"用来明确标识Velocity变量; 比如在页面中,页面中有一个$someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这个变量的后面紧接着显示name字符,则上面的标签应该改成${someone}name。 4、"!"用来强制把不存在的变量显示为空白。 如当页面中包含$msg,如果msg对象有值,将显示msg的值,如果不存在msg对象同,则在页面中将显示$msg字符

Velocity模板引擎

我与影子孤独终老i 提交于 2020-02-04 11:16:07
1.Velocity模板引擎 1.1.简介 Velocity是一个 基于Java的 模板引擎框架,提供的模板语言可以使用在Java中定义的对象和变量上。Velocity是Apache基金会的项目,开发的目标是分离MVC模式中的持久化层和业务层。 1.2.使用场景 开发Velocity的目标是分离 MVC 模式中的持久化层和业务层。但是在实际应用过程中,Velocity 不仅仅被用在了 MVC 的架构中,还可以被用在以下一些场景中: Web应用 :开发者在不使用JSP的情况下,可以 用Velocity让HTML具有动态内容的特性 源代码生成 : Velocity可以被用来生成Java代码 、SQL或者PostScript,有很多开源和商业开发的软件是使用Velocity来开发的 自动Email :很多软件的用户注册、密码提醒或者报表都是使用Velocity来自动生成的,使用 Velocity可以在文本文件里面生成邮件内容,而不是在Java代码中拼接字符串 转换XML :Velocity提供一个叫Anakia的ant任务,可以读取XML文件并让它能够被Velocity 模板读取。一个比较普遍的应用是将xdoc文档转换成带样式的HTML文件 2.基本语法 2.1.注释 单行:## 句子 多行:#* 句子句子 *# 文档格式:#** 句子句子 **# 2.2.变量定义 #set($name

模板引擎 Velocity

强颜欢笑 提交于 2020-01-09 06:19:24
一直以来开发web的页面都是jsp+jstl+EL表达式。也没遇到什么问题,只是偶尔会禁不住在jsp页面上写上两行java代码,些许影响美观。 听说velocity这个模版很不错。oschina也是用的这个。于是花了些时间学习一下。 很多内容velocity的 官网 上面都说得听清楚了。这里说下web开发方面的。 想用velocity代替jsp其实很简单。先在官网的下载页面下载必须的jar包,分别是 velocity-1.7.zip 和 velocity-tools-2.0.zip 。 在velocity-tools-2.0.zip中有个官方例子,估计看完之后大家都会了。这里简单说下。 首先在web.xml中增加velocity的配置。 <servlet> <servlet-name>velocity</servlet-name> <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>velocity</servlet-name> <url-pattern>*.vm</url-pattern> </servlet-mapping> 添加一个处理vm后缀文件的servlet

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

南笙酒味 提交于 2019-12-12 16:22:59
Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中。特别是在如今特别流行的MVC架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加高。所以我们需要寻找一种来减少软件开发人员重复劳动的方法,让程序员将更多的精力放在业务逻辑以及其他更加具有创造力的工作上。Velocity这个模板引擎就可以在一定程度上解决这个问题。 Velocity是一个基于Java的模板引擎框架,提供的模板语言可以使用在Java中定义的对象和变量上。Velocity是Apache基金会的项目,开发的目标是分离MVC模式中的持久化层和业务层。但是在实际应用过程中,Velocity不仅仅被用在了MVC的架构中,还可以被用在以下一些场景中。 1.Web 应用:开发者在不使用JSP 的情况下,可以用Velocity 让HTML 具有动态内容的特性。 2.源代码生成:Velocity可以被用来生成Java代码、SQL或者PostScript。有很多开源和商业开发的软件是使用Velocity来开发的。 3.自动Email:很多软件的用户注册、密码提醒或者报表都是使用Velocity来自动生成的。使用Velocity可以在文本文件里面生成邮件内容,而不是在Java代码中拼接字符串。 4.转换xml:Velocity提供一个叫Anakia的ant任务

学习-velocity

时光毁灭记忆、已成空白 提交于 2019-12-10 12:20:28
Velocity是什么? Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人 员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。 Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也 可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 1、maven加入依赖 <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId>

Java模板引擎 HTTL

一曲冷凌霜 提交于 2019-12-04 15:30:25
HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引擎,适用于动态HTML页面输出,可替代JSP页面,指令和Velocity相似。 简洁友好的模板语法 语法尽可能符合HTML和JAVA开发者的直觉,指令和老牌的Velocity类似,但改进了Velocity中不符合直觉的地方。 只保留最基本的条件迭代控制指令,渲染过程不允许修改原始数据,防止模板带过多业务逻辑。默认使用HTML注释语法,避免干扰原生HTML页面。 <html> <body> <!--#if(books)--> <table> <!--#for(Book book : books)--> <tr> <td>${book.title}</td> </tr> <!--#end--> </table> <!--#end--> </body> </html> 改进Velocity不符合直觉的地方: 指令中的变量不用加$符,如:#if(a == b),而不像Velocity那样:#if($a == $b),加$有点废话,容易忘写。 ${x}当变量为null时,输出空白串,而不像Velocity那样:输出源码${x},如果用$!{x},感叹号容易忘记写。 支持在输出时进行表达式计算,如:${i + 1},而不像Velocity那样:要先#set($j = $i + 1)到一个临时变量

velocity模板引擎杂记

匿名 (未验证) 提交于 2019-12-03 00:21:02
记录得很凌乱,反正这东西是给自己看的,建议有需要了解的道友,翻其他博客文档吧 http: //velocity.apache.org/engine/devel/user-guide.html http: //ifeve.com/apache-velocity-dev/ ## set指令 ## 用“指令”这个词可能不太准确 #set ( $a = "Velocity" ) ## $取 值 #set ( $f oo = "Velocity" ) Hello $f oo World ## 单行注释 #* 多行注释 *# VTL 中有三种引用 变量variable、属性properties、方法methods 合法变量名:字母、数字、连字符、下划线,以字母开头 属性访问方式: $c ustomer. Address 、 $p urchase. Total 方法调用方式: $p erson.setAttributes([ "Strange" ]) 使用属性更简洁,使用方法可以传递参数 正式reference标记 在非正式语句 $v ice中不便取值时考虑用正式reference标记 ${ vice} 空白处理 $! email $! {email} 转义处理 #set ( $e mail = "foo" ) \\\ $e mail => \ $e mail #set ( $f oo =

Velocityѧϰ

匿名 (未验证) 提交于 2019-12-03 00:17:01
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11790482.html Velocityѧϰ: 1. velocity对大小写敏感 2. velocity的具体用法: import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.runtime.RuntimeConstants; import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader; /** * 初始化Velocity引擎 */ VelocityEngine ve = new VelocityEngine(); ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); ve.init();

Velocity教程

∥☆過路亽.° 提交于 2019-11-27 07:09:45
1.什么是Velocity Velocity是一个基于Java的模板引擎,通过特定的语法,Velocity可以获取在java语言中定义的对象,从而实现界面和java代码的真正分离,这意味着可以使用velocity替代jsp的开发模式了(实际上笔者所在的公司已经这么做了)。这使得前端开发人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点,在实际应用中,velocity还可以应用于很多其他的场景. 2.velocity介绍 Velocity是一个基于Java的模板引擎,其提供了一个Context容器,在java代码里面我们可以往容器中存值,然后在vm文件中使用特定的语法获取,这是velocity基本的用法,其与jsp、freemarker并称为三大视图展现技术,相对于jsp而言,velocity对前后端的分离更加彻底:在vm文件中不允许出现java代码,而jsp文件中却可以. 3.velocity的基本用法 在这里我们以一个HelloVelocity作为Velocity的入门实例.首先在 官网 下载velocity的最新发布包,新建普通java项目,引入其中的velocity-1.7.jar和lib文件夹下的所有jar包即可. 然后分为如下两步。 4.velocity变量 在Velocity中也有变量的概念, 使用$符声明变量