原创:转载需注明原创地址 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(); /**
* 获取模板,参数栏填写模板所在路径
*/
Template t = ve.getTemplate("ureport-html/html-preview.html"); /**
* 创建Velocity上下文
*/
VelocityContext vctx = new VelocityContext();
/**
* 放入数据
*/
vctx.put("data", "data");
vctx.put("html", "htmldata"); /**
* 创建一个任意形式的wirter,用于输出页面数据
* 假设前面有response传入
*/
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
//Writer writer = new Writer(); //可以new一个Writer, 也可以从response中获取,设置输出的信息
PrintWriter writer = response.getWriter(); /**
* 交给模板去处理
*/
t.merge(vctx, writer) writer.close(); 3. 语法 #set( $foo = "Velocity" ) 设置变量的值 ## 单行注释 #* 随便什么内容 *# 多行注释 $user 引用Java中定义的对象 $user.name 引用user对象的属性 $user.setName("fw"); 方法引用 $user.getName(); 这个和$user.name 效果是一样的 如果有一个对象是引用的Java数组,那还可以直接调用Java数组的方法: $myarray.isEmpty()
$myarray.size()
$myarray.get(2)
$myarray.set(1, 'test') ${userName} 这种写法也支持 $!userName 如果userName是空值, 那么就显示""空字符串 ${!userName} ${}是正式引用; !是静态引用 不解析模式:下面的代码将会输出 #[[ ]]#中的内容;
#[[
#foreach ($item in $itemList)
nothing will happen to $item
#end
]]# 判断语句 If / ElseIf / Else && || ! #if ()
//do something
#elseif ()
//do something
#elseif ()
//do something
#else
//do something
#end 循环 foreach #foreach ($name in $users)
$name
#end #include( "one.png","two.txt","three.html" ) #parse( "me.vm" )

Velocity学习的更多相关文章

  1. velocity学习总结

    什么是velocity velocity是一个基于Java的模板引擎,它可以实现彻底的前后端,前端不允许像jsp那样出现Java代码,而是利用context容器传递变量,在java代码里面我们可以往容 ...

  2. Velocity学习笔记

    一.为什么要使用velocity? 很多人下载了EasyJWeb的开源应用示例,但是对动态页面模板文件中的标签使用不是很熟悉,这里简单介绍一下.EasyJWeb特定把视图限定为Velocity,因为我 ...

  3. Velocity学习4

    Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Veloci ...

  4. Velocity学习3

    Velocity快速入门教程 Apache的速度是一个基于Java的的模板引擎(模板引擎),它允许任何人仅仅简单的使用模板语言(模板语言)来引用由java的代码定义的对象. 官网介绍如下: Veloc ...

  5. Velocity学习2

    Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Veloci ...

  6. 模板引擎Velocity学习系列-#set指令

    #set指令 #set指令用于向一个变量或者对象赋值. 格式: #set($var = value) LHS是一个变量,不要使用特殊字符例如英文句号等,不能用大括号括起来.测试发现#set($user ...

  7. velocity学习记录

    一.引入文件 静态引入:#include("./footer.vm.html") 动态引入:#parse("./header.vm.html") 说明:./为v ...

  8. velocity模板引擎学习(1)

    velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,(注:castle团队在gith ...

  9. 一个Velocity Template Language学习的框架

    Velocity Template Language(VTL)使得数据展示和后台代码的开发分离开来,最初用在基于servlet的网站开发上,它的这一特性使得它在应付MVC Web开发模式时显得尤其合适 ...

随机推荐

  1. SpringBoot集成Actuator监控管理

    1.说明 本文详细介绍Spring Boot集成Actuator监控管理的方法, 基于已经创建好的Spring Boot工程, 然后引入Actuator依赖, 介绍监控管理相关功能的使用. Sprin ...

  2. nodejs创建一个简单的web服务

    这是一个突如其来的想法,毕竟做web服务的框架那么多,为什么要选择nodejs,因为玩前端时,偶尔想调用接口获取数据,而不想关注业务逻辑,只是想获取数据,使用java或者.net每次修改更新后还要打包 ...

  3. golang 算法题 : 二维数组搜索值

    package mainimport "fmt"func main() { matrix := [][]int{ {1, 4, 7, 11, 15}, {2, 5, 8, 12, ...

  4. tcpdump统计http请求并导出URL文本

    tcpdump统计http请求并导出URL文本 tcpdump tcpdump是一个用于截取网络分组,并输出分组内容的工具.凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排 ...

  5. Python_time&datetime

    获取常用日常时间 # encoding: utf-8 import time import datetime # 当前时间 datetime_now_time = datetime.datetime. ...

  6. 第10组 Alpha冲刺 (5/6)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/13996848.html ·作业博客:https://edu.cnblogs.co ...

  7. vue部署服务器以及解决部署到apache路由出现404

    最近在开发cms的时候使用Vue.js框架,利用vue-route.vue-cli结合webpack编写了一个单页路由项目,自己在服务器端配置apache.部署完成后,访问没问题,从页面中点击跳转就会 ...

  8. 深入理解Java虚拟机之自己编译JDK

    题外话 最近在阅读<深入理解Java虚拟机>,其中有一小节实战是自己编译JDK,实际操作下来后遇到问题不少,为此特地记录,也希望可以给大家带来一些参考! 前置准备 平台及工具:Window ...

  9. CSS相关知识及入门

    CSS(层叠样式表) 作用 修饰HTML页面,美化 CSS代码规范 放置规范 在<style>标签内容体中书写样式代码 <style>标签放置在<head>标签内. ...

  10. 移动Web开发实践——解决position:fixed自适应BUG

    在移动web中使用position:fixed,会踩到很多坑,在我之前的一篇文章<移动端web页面使用position:fixed问题总结>中已经总结了很多bug,但是在后续的开发中有关f ...