1 java文件
package com.test;
import java.io.StringWriter;
import java.util.*;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
public class VelTest {
public static void main(String[] args) throws Exception {
//初始化并取得Velocity引擎
VelocityEngine ve = new VelocityEngine();
//Properties p =new Properties();
//p.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
//ve.init(p);
//ve.setProperty(Velocity.RESOURCE_LOADER, "class");
//ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
//ve.init();
Properties p =new Properties();
p.put(Velocity.FILE_RESOURCE_LOADER_PATH, "D:/workspace/velocity/src/");
ve.init(p);
//取得velocity的模版
Template t = ve.getTemplate("com/test/example2.vm","gbk");
//取得velocity的上下文context
VelocityContext context = new VelocityContext();
//把数据填入上下文
context.put("name", "zhaozhi3758");
//为后面的展示,提前输入List数值 也可以解析pojo
List temp = new ArrayList();
temp.add("1");
temp.add("2");
context.put("list", temp);
Map velMap =new HashMap();
velMap.put("key1", "极品家丁");
velMap.put("key2", "斗破苍穹");
context.put("map", velMap);
List lmList = new ArrayList();
Map l1Map =new HashMap();
l1Map.put("list1", "listValue1");
l1Map.put("list11", "listValue11");
lmList.add(l1Map);
Map l2Map =new HashMap();
l1Map.put("list2", "listValue2");
l1Map.put("list22", "listValue22");
lmList.add(l2Map);
context.put("listmap", lmList);
//输出流
StringWriter writer = new StringWriter();
//转换输出
t.merge(context, writer);
System.out.println(writer.toString());
}
}
2 模板文件
#parse("/com/test/example1.vm")
//--------------直接设值----------------
#set($condition = true)
#if ($condition)
条件 is true!
#else
条件 is false!
#end
//--------------context 中设值----------
欢迎来自$name$project的工程!
//------------遍历list------------------
#foreach($name in $list )
$name
#end
//------------遍历map------------------
#foreach($param in $map.keySet())
key:$param --> value: $map.get($param)
#end
//------------遍历list<map>------------------
#set ($i=0)
#foreach($lmap in $listmap)
#foreach($inMap in $lmap.keySet())
key:$inMap --> value: $lmap.get($inMap)
#end
#set($i=$i+1)
#end
分享到:
相关推荐
Velocity入门教程实例,包括velocity介绍,语法详解,以及具体的示例!
velocity入门实例,java代码读取配置文件 可直接运行
初学velocity,做的一个小实例。
采用最新的springmvc3.2、mybatis3.2、velocity1.7整合,完整的配置文件和测试例子,注解完成,轻量级的视图搭配
本资料详解了velocity的语法,以及入门例子详解。是刚入门学习velocity的很好的资料,欢迎大家下载使用。
本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据
通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring...
1.开始入门 3 1.Getting Started 3 2.Dependencies 依赖资源 3 2.参考资源: 4 3.它是如何工作的? 4 1.基本使用模式 4 4.单实例还是多实例(To Singleton Or Not To Singleton...)? 6 1.Singleton Model 6 2....
一、准备工作及实例 3 1.解压struts-2.1.6-all.zip 3 2.六个基本包 3 3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-...
以用户管理为例,结合spring struts hibernate dwr jstl做的实例,struts hibernate dwr 与Spring完全结合,实现用户列表、信息增、删、改、查、维护时用户重名提示等功能,还包括页面自动转码设置(web.xml),...
你好,世界待办事项清单vue1-实例vue2-实例的生命周期函数vue3-模板语法vue4-计算属性,方法和侦听器vue5-计算属性的setter和getter vue6-样式绑定vue7-条件渲染vue8-列表渲染 深入理解vue组件 vue1-组件使用的细节...
以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二部分) 内容提要:如何管理 Scheduler(启动、停止、Standby 模式)。还介绍了 Job、...
1.1、创建配置实例..............................................................................4 1.2、创建数据模型(Data Model) ..........................................................4 1.3、获取...
1.1 创建配置实例 ............................................................................................ 61 1.2 创建数据模型 .........................................................................
1.1 创建配置实例 ............................................................................................ 62 1.2 创建数据模型 .........................................................................