Velocity(2)——引用】的更多相关文章

在Velocity Template Language(VTL)中,有三种类型的引用:变量,属性,方法.所有的引用都被看作是字符串,如果某个引用是一个整型值,velocity会调用它的toString()方法,将它转换为String. 变量: 变量是由$和紧跟其后的VTL标识符组成的.而VTL标识符必须以字母开头,后面可以包含并且仅能包含字母.数字.下划线以及减号.像$2.4这样的字符串,是不会被识别为变量的,因为2.4不是一个VTL标识符. 属性: 属性是由四部分组成,依次是$, 紧跟其后的V…
Velocity语言的介绍 2016-09-06 15:39:25 语言介绍 Velocity是一种Java模版引擎技术,是一个基于Java的模板引擎(template engine).她允许任何人简简单单的使用模板语言类引用由Java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和Java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序员关注业务逻辑编码.Velocity将Java代码从web页面中分…
Velocity是大小写敏感的.但是为了减少使用者的错误,某些地方存在特殊情况. 比如$foo.bar,首先会被检查是否能匹 配$foo.getbar(),再被检查是否能匹配$foo.getBar(). 而$foo.Bar,首先会被检查是否能匹 配$foo.getBar(),再被检查是否能匹配$foo.getbar(). 正如在<Velocity(2)——引用>所提到的那样,属性不会被解析为对象的实例变量,即$foo.bar不表示foo这个java对象的bar属性.…
http://ifeve.com/apache-velocity-dev/ <Apache Velocity用户指南>官方文档 原文链接   译文连接 译者:小村长  校对:方腾飞 Quick Start 本项目是 Apache Velocity官方文档的中文翻译版,Velocity类似与JSP,是一种基于Java的模板引擎.它可以在web页面中引用Java代码中定义的数据和对象,而Velocity的作用就是把Web视图和java代码进行组装在一起.本次翻译主要针对对Velocity感兴趣和工…
以前使用jsp开发的时候,可以通过request很轻松的获取到根项目名,现在换到使用velocity渲染视图,因为已经不依赖servlet,request等一些类的环境,而Web项目的根项目名又不是写死的,需要动态获取,这时候该怎么办呢,试了网上说了很多种方式,总结一下心得. 第一种:(失败) 在toolbox.xml里配置以下信息: <toolbox scope="request">          <tool key="link" class…
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上就完成了所有的业务逻辑代码,能够实用平台的API,这是jsp的一个优点,所谓物极必反,这一点在某些方面也成了它的一个缺点,内容和表示的界限变得很模糊,使得mvc分层不够彻底. Velocity的写法比较接近java的语法,语法非常简单,对于java开发人员来说,从一窍不通到上手使用velocity几…
最近正在做的项目前端使用了Velocity进行View层的数据渲染,之前没有接触过,草草过了一遍,就上手开始写,现在又回头细致的看了一遍,做个笔记. velocity是一种基于java的模板引擎技术,有点类似与JSP,它允许页面设计者引用Java中定义的方法.前端页面设计者和后端Java开发者能够同时使用MVC的模式开发网站,这样前端能够把精力放在页面的设计上,后端也可以把精力放在代码开发上.Velocity把Java代码从Web页面中分离, 使网站可维护性更强. 注:项目使用的是Spring+…
Velocity介绍 Velocity是一个基于java的template engine.它允许Web designer引用Java Code中定义的方法.Web designer可以和Java工程师根据MVC模型并发编程.也就是说,Velocity使得Java开发和网页开发分离. Velocity还可以根据template可以生成web pages, SQL, PostScript和其他输出,或者和其他系统的组件集成. Velocity Template Language(VTL) VTL在w…
Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象 velocity的语法非常简单.这里不多介绍. 我们平时的web项目,通常的开发流程是前端写好静态页面.后端将静态页面改成jsp,在相应的需要替换数据的地方,使用 jstl.EL表达式等接收action模块传递过来的数据.一般使用action来处处理参数,调用service层来处理业务逻辑,service层调用da…
一.基本语法 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."$"用来标识一个对象(或理解为变量):如…
1.变量 (1)变量的定义: #set($name = "hello")      说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示: #set($directoryRoot = "www" ) #set($templateName = "index.vm" ) #set($template = "$directoryRoot/$templateName" )…
velocity模板其实就是java不分语法的翻译,用到的属性还是java的方法,get,set,等 1.截取部分字段substring 原始字符串:$!ag.tagValue,也许很长,前端页面展示时需要截取字符串. #set($str=$!ag.tagValue) #if($str.length()>30) #set($str=$str.substring(0,30)) $str ... #else $!ag.tagValue #end 使用substring(begin,end)要注意,结…
1. 什么是velocity Velocity[vəˈlɑ:səti],名称字面翻译为:速度.速率.迅速.该项目的开源地址:http://velocity.apache.org/,它是一个基于Java的模板引擎,什么叫基于Java的模板引擎,就是说,在velocity中可以直接引用Java定义的对象.Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案. 2. Velocity是怎么被解析的 我们知道使…
果然公司用的东西跟平时学的东西不太一样,我们公司前台页面并不是我们熟悉的.html或者.jsp文件,而是很多人不知道的 .vm文件,其实只要我们理解了jsp文件,vm文件也就是一些基本语法不同而已. *.vm 后缀的文件,是velocity的文件,那velocity又是什么文件呢?velocity是基于java的一种页面模板引擎,支持#if #else #foreach等写法的前台文件.$link.contextPath是该引擎支持的一种默认写法,可以取得应用程序执行根路径. elocity是一…
原文:http://blog.csdn.net/qq_25237663/article/details/52262532 Velocity是一个基于Java的模板引擎,通过特定的语法,Velocity可以获取在java语言中定义的对象,从而实现界面和java代码的真正分离,这意味着可以使用velocity替代jsp的开发模式了(实际上笔者所在的公司已经这么做了).这使得前端开发人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点,在实际应用中,velocity还可以应…
Velocity 基本语法 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上.Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层.但是在实际应用过程中,Velocity 不仅仅被用在了 MVC 的架构中,还可以被用在以下一些场景中. Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有动态内容的特性. 源代码生成:Velocity 可以被用来生…
Velocity语法 Velocity的使用要用到下面几个包,可以从官网下载,commons-collections.jar,velocity-1.4.jar,velocity-dept.jar; 1.     变量 (1)变量的定义: #set($name = "hello")      说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示: #set($directoryRoot = "www" )…
Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.当Velocity 应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码. 引入Velocity的发布包 从http://velocity.apach…
定义宏和使用宏 #macro指令用于定义一个VTL模板的重复代码块——宏.下面是一个简单的定义宏的例子: #macro( d ) <tr><td></td><tr> #end 这段代码定义了一个宏,名字为d,没有参数.下面是使用这个宏的代码: #d() Velocity在遇到#d()的时候,会用"<tr><td></td></tr>"替代上面的#d()这一行. 宏的参数: 宏也可以带参数,而…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
输出指令 ${}过滤输出 输出表达式的计算结果,并进行过滤,比如:过滤变量中的HTML标签. 格式: ${expression} 示例: ${user.name} 注:HTTL缺省开启了EscapeXmlFilter,以防止HTML注入攻击,参见:安全示例.如果你需要更强的过滤,请自行实现Filter,并配置到value.filters.此处为运行时热点,请注意性能. 如果输出变量的类型为Template,则缺省不过滤,比如:${include("foo.httl")} $!{}不过滤…
复杂页面前端模块化的方式: 方式一:iframe 方式二:velocity模板(#parse) 方式一,优点很多,也有缺点,例如页面之间传递参数等: 方式二,页面之间的调用,传参更容易,页面性能更好:但是也有一些缺点,如样式互相影响,js之间调用混乱等: 就方式二的建议如下: 1.css样式,少用或者不用全局样式: 2.模块之间尽量不要进行调用,除非一个模块完全属于另外一个模块: 3.模块之间的方法调用,或者模块调用主窗口的js函数,通过主窗口的全局事件(window)处理: 举例如下: 场景:…
类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.从而实现界面和Java代码的分离,使得界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点.另外,Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript.XML,它也可以被当作一个独立工具来产生…
http://www.blogjava.net/caizh2009/archive/2010/08/20/329495.html Velocity是什么? Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人 员可以只关注页面的显…
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不同的平台上,如.Net的NVelocity和js的Velocity.js,虽然各平台在使用和实现上略有差别,但大部分语法和引擎核心的实现是一致的,因此学习成本降低不少哦. 最好的学习资源——官网:http://velocity.apache.org/ 本系列打算采用如下结构对Velocity进行较为…
关于.vm 后缀的文件,是velocity的文件.velocity是基于java的一种页面模板引擎,支持#if #else #foreach等写法的前台文件.$link.contextPath是该引擎支持的一种默认写法,可以取得应用程序执行根路径. Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.当Velocity应用于web开发时,界面设计人员可以和java程…
原文地址http://www.itzhai.com/the-introduction-of-the-velocity-template-engine-template-language-syntax-and-basic-use.html 类似于PHP中的Smarty,Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.从而实现界面和Java代码的分离,使得界面设计人…
一.基本语法 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."$"用来标识一个对象(或理解为变量):如…
原先的 #if($mobile) 这种写法是不准确的 ,请换成 "$!{ mobile}"!="" 说明 :    #if($mobile)   这种写法 只能 对null 起作用   也就是说  #if($mobile)    or receiver_mobile =:mobile   #end   如果 mobile 参数 是 null, 那么sql 不会拼接 里面的文字 但是 ,如果 传入的 是 ""( empty 字符串), 一样会拼接文…
http://blog.csdn.net/qq_25237663/article/details/52262532 **************************************************************** Velocity是一个基于Java的模板引擎,通过特定的语法,Velocity可以获取在java语言中定义的对象,从而实现界面和java代码的真正分离,这意味着可以使用velocity替代jsp的开发模式了(实际上笔者所在的公司已经这么做了).这使得前端…