Velocity(7)——#foreach指令】的更多相关文章

首先是#foreach的简单示例: #foreach( $elem in $allElems) $elem</br> #end 上面这个例子中,$allElems可以是一个Vector,一个HashTable,一个数组. 在Velocity中,有一个变量$velocityCount用作循环计数,初始值是1.这个变量的名字和初始值是在velocity.properties文件里配置的. 下面是更多的几个例子: #set($nums=[-2 .. 2]) #foreach($i in $nums)…
velocity的foreach标签操作: #foreach( $per in ${list} ) #end 如果需要访问循环的当前目标的index可用通过${velocityCount},其默认是从1开始. 如果有多层循环,也可以有同样的操作,起引擎会根据代码所在的当前循环获取其所在的最里层的循环的下标.…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范的写法,但是可能不好看. #set #set指令用于向一个变量或者属性赋值.其格式为 #set($foo="bar")或者#set($foo.bar=$test) . LHS必须是一个变量或者属性,RHS必须是以下7种类型之一:变量.属性.字符串字面值.数字字面值.方法.ArrayList…
http://blog.csdn.net/madding/article/details/6641020当在velocity中需要显示一个列表信息,我们会用foreach循环输出, 要求: 假如现在需要在页面中输出单数的内容背景为红,双数的内容为黑,构造方式如下: [java] view plaincopy package org.apache.velocity.test.issues; import java.util.ArrayList; import java.util.List; imp…
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板.使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量.如果有多个文件,以逗号隔开即可.比如#Include("a.gif", "b.html", $file).…
下面是#If指令的一个简单而完整的示例: #if ($foo < 10) Go North #elseif ($foo == 10) Go East #else Go West#end 不能漏掉 #if指令用于判断某个条件是否为true.以上面的代码为例,当$foo < 10为true时,将会显示"Go North". 有时会看到这样一种写法:#if($foo) ... #end.这里充当判断条件的是一个变量$foo,它在两种情况下是true:一是$foo作为布尔值(Boo…
1 #macro(formatIncreaseData $increase) 2 #if(${product.onlineStatusFlag} =='0') 3 -- 4 #elseif(!$increase || $increase=="") 5 -- 6 #else 7 #if($increase >= 0) 8 #set($color = "increase-number") 9 #elseif($increase < 0) 10 #set($c…
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板.使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量.如果有多个文件,以逗号隔开即可.比如#Include("a.gif", "b.html", $file).…
把$velocityCount替换成$foreach.count 例如 #if($foreach.count != $columns.size()),#end…
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不同的平台上,如.Net的NVelocity和js的Velocity.js,虽然各平台在使用和实现上略有差别,但大部分语法和引擎核心的实现是一致的,因此学习成本降低不少哦. 最好的学习资源——官网:http://velocity.apache.org/ 本系列打算采用如下结构对Velocity进行较为…
文章出自:http://sakyone.iteye.com/blog/524292 8.Application Attributes Application Attributes (应用程序属性)是和VelocityEngine 的运行时实例(Runtimeinstance)相关联的,名-值对(name-value pairs)格式的参数,可用来存运RuntimeInstance时的信息. 设计这个功能的目标是Velocity程序需要与应用层或用户定制部分(如日志,资源,装载器等)通信. The…
文章引自:http://sakyone.iteye.com/blog/524289 1.开始入门 Velocity是一基于java语言的模板引擎,使用这个简单.功能强大的开发工具,可以很容易的将数据对象灵活的与格式化文档组装到一起:希望本文能指引使用velocity在开发基于servlet或一般java应用程序的应用上快速起步. 1.Getting Started 取得Velocity并在你的机器上开始运行很容易,以下是全部详细的说明: 取得Velocity发布版本,go here. 目录及文件…
Velocity介绍 Velocity是一个java模板引擎,通过简洁的语法可以返回动态内容给浏览器使用,本系类是基于velocity官方文档(就是照着翻译,同时对不清楚的地方进行详细讲解),其实技术文档我一直推崇看官方文档,官方文档更新及时同时讲解也很详细,但是主要是需要英语基础哈哈,下面我们就开始velocity的学习了. 简单的环境搭建 在学习之前我们先下载jar包,由于官方文档是先进行语法学习(蛋蛋的忧桑~~~~),所以这里我先进行简单的velocity搭建, 使用的是servlet,贴…
1.Runtime  Log runtime.log  =  velocity.log 用以指定 Velocity 运行时日志文件的路劲和日志文件名,如不是全限定的绝对路径,系统会认为想对于 当前目录. runtime.log.logsystem 这个参数没有默认值,它可指定一个实现了 interface org.apache.velocity.runtime.log.LogSystem.的自定义日志处理对象给 Velocity.这就方便将 Velocity  与你己有系统的日志机制统一起来 r…
在MVC开发模式下,View离不开模板引擎,在Java语言中模板引擎使用得最多是JSP.Velocity和FreeMarker,在MVC编程开发模式中,必不可少的一个部分是V的部分.V负责前端的页面展示,也就是负责生产最终的HTML,V部分通常会对应一个编码引擎,当前众多的MVC框架都已经可以将V部分独立开来,可以与众多的模板引擎集成. Velocity总体架构 从代码结构上看,Velocity主要分为app.context.runtime和一些辅助util几个部分. APP模块 其中app主要…
http://ifeve.com/apache-velocity-dev/ <Apache Velocity用户指南>官方文档 原文链接   译文连接 译者:小村长  校对:方腾飞 Quick Start 本项目是 Apache Velocity官方文档的中文翻译版,Velocity类似与JSP,是一种基于Java的模板引擎.它可以在web页面中引用Java代码中定义的数据和对象,而Velocity的作用就是把Web视图和java代码进行组装在一起.本次翻译主要针对对Velocity感兴趣和工…
使用Velocity模板 Velocity是一种针对Java应用的易用的模板语言.Velocity模板中没有任何 Java代码,这使得它能够同时被非开发人员和开发人员轻松地理解.Velocity的用户手册上是这么说的:“Velocity将Java代码从Web 页面中分离出来,使用Web站点从长远看更容易维护,并且提供了一种可行的JavaServer Pages替代解决方案.” 除了JSP,Velocity可能是用于Web应用的最流行的模板语言.因此很可能你会想采用Velocity作为视图层技术开…
Velocity是什么?  Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人 员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码. Velocity将java代码从web页面中分离出来,这样为web站点的长期维…
工作以后,我越来越能体会到80/20法则的强大. 这是一个不可否认的事实,常用 20% 的技术可以解决工作中 80% 的场景. 所以我希望能介绍给你 Velocity 技术 20%,帮助你胜任 80% 的工作. 废话少说,进入正题. 概要 Velocity 是什么? Velocity 能做什么? Velocity 示例 1. Velocity 是什么? Velocity 是一个基于Java的模版引擎,它提供模版语言用于引用Java代码定义的对象. 2. Velocity 能做什么? Veloci…
项目中经常用到的 .vm 后缀文件是什么? 基于 java 的 velocity 模版引擎的一种页面控制文件,是一些类似 html 语句和一种叫 VLT 的语句构成   velocity --美 [vəˈlɑ:səti] 速率,速度:周转率:高速,快速 velocity 是一种基于 java 的模版引擎,允许任何人仅仅简单的使用模版语言来引用由 java 代码定义的对象.     .vm 文件中 velocity 的常用语法 一.基本语法 1.“#”用来标识 velocity 的脚本语句,包括:…
1 . ADD_DEFINITIONS 向 C/C++ 编译器添加 -D 定义,比如 在CMakeList.txt文件中添加: ADD_DEFINITIONS(-DENABLE_DEBUG -DABC) #参数之间用空格分割. 代码中有: #ifdef ENABLE_DEBUG ... //代码段生效 #endif 如果要添加其他的编译器开关,可以通过 CMAKE_C_FLAGS 变量和 CMAKE_CXX_FLAGS 变量设置. 2.ADD_DEPENDENCIES 定义 target 依赖的…
所需文件名:CmakeLists.txt,在需要操作的每个目录下都需要 PROJECT(工程名字)     这条指令会自动创建两个变量: <projectname>_BINARY_DIR(二进制文件保存路径)    <projectname>_SOURCE_DIR(源代码路径) cmake系统也帮助我们预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等 SET(变量名 变量值)     SET(VAR [VALUE] [CACHE…
无论是c/c++还是java.c#均有对XML文件操作的技术,PHP对XML文件的操作的技术主要有三种: DOM.XPath.SimpleXml. 一.DOM DOM:Document Object Model ,中文名字为“文档对象模型” 核心思想:把一个xml文件看作是一个对象模型,然后通过对象的方式来操作xml文件 注意: 当将xml文件看成对象的时候,一般将标签称作节点解析xml文件的时候,相当于建立一棵树,树的节点可以表示标签.内容.属性等 DOM解析XML文件的流程: PHP dom…
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用. 支持类似与 Velocity 的多种指令 支持静态编译 支持编译缓存 支持热加载 支持类型推导 支持泛型 支持可变参数方法调用 支持方法重载 支持类似于 Groovy 的方法扩展 支持函数扩展 支持自定义标签 #tag 支持宏定义 #…
深入浅出KnockoutJS 写在前面,本文资料大多来源网上,属于自己的学习笔记整理. 其中主要内容来自learn.knockoutjs.com,源码解析部分资料来自司徒正美博文<knockout.js学习笔记>系列. 1. Knockout初体验 1.1 Before Knockout 假设我们的页面输入区域有一个div用来展示一件物品的名字,同时有一个输入框用来编辑这件物品的名字 <div id=”itemName”></div> <input type=”t…
laravel 5.3 blade 新增$loop变量 文档如下: 在Laravel 5.3中,@foreach指令提供了更加强大的功能,在每一个@foreach循环体中都可以调用一个新的$loop变量.该变量是一个stdClass实例,包含了当前循环的元数据信息,让我们来看一下它提供的属性: index:从1开始的循环索引,1意味着是第一个条目. remaining:循环还有多少个条目,比如当前是3个中的第一个,那么会返回2: count:循环总条目数 first:是否是第一个 last:是否…
cmake中一些预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build CMAKE_INCLUDE_PATH 环境变量,非cmake变量 CMAKE_LIBRARY_PATH 环境变量 CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径 CMAKE_CURRENT_BINARY_DIR target编译目录 使用AD…
原创纯手写快速学习笔记(对官方文档的二手理解),更推荐有时间的话读官方文档 框架简介(Knockout版本:3.4.1 ) Knockout(以下简称KO)是一个MVVM(Model-View-View Model)框架,这是一种设计用户界面的设计模式,把一个复杂的UI分成三个部分:模型(Model),视图(View),视图模型(View Model).以下解释这三个模型的含义: 模型(Model):你的应用中存储的数据.这些数据与UI是独立的.我们常向服务器发请求,从而得到数据改变模型存储的数…