`

velocity 入门实例

阅读更多
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介绍,语法详解,以及具体的示例!

    velocity实例

    velocity入门实例,java代码读取配置文件 可直接运行

    Velocity入门小实例,纯java工程

    初学velocity,做的一个小实例。

    springmvc+mybatis+velocity整合实例

    采用最新的springmvc3.2、mybatis3.2、velocity1.7整合,完整的配置文件和测试例子,注解完成,轻量级的视图搭配

    velocity中文资料以及实例详解

    本资料详解了velocity的语法,以及入门例子详解。是刚入门学习velocity的很好的资料,欢迎大家下载使用。

    Spring mvc+mybatis+maven+velocity+mysql整合实例

    本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据

    SpringMVC入门实例及详细讲解

    通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring...

    《Velocity1.4 java开发指南》中文版

    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....

    Struts2入门教程(全新完整版)

    一、准备工作及实例 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做的实例

    以用户管理为例,结合spring struts hibernate dwr jstl做的实例,struts hibernate dwr 与Spring完全结合,实现用户列表、信息增、删、改、查、维护时用户重名提示等功能,还包括页面自动转码设置(web.xml),...

    Vue-project:这是一个vue入门到项目实战开发的源代码集合

    你好,世界待办事项清单vue1-实例vue2-实例的生命周期函数vue3-模板语法vue4-计算属性,方法和侦听器vue5-计算属性的setter和getter vue6-样式绑定vue7-条件渲染vue8-列表渲染 深入理解vue组件 vue1-组件使用的细节...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二部分) 内容提要:如何管理 Scheduler(启动、停止、Standby 模式)。还介绍了 Job、...

    Freemarker使用手册、api、中文版教程

    1.1、创建配置实例..............................................................................4 1.2、创建数据模型(Data Model) ..........................................................4 1.3、获取...

    FreeMarker 手册

    1.1 创建配置实例 ............................................................................................ 61 1.2 创建数据模型 .........................................................................

    超完整FreeMarker中文教程,代码

    1.1 创建配置实例 ............................................................................................ 62 1.2 创建数据模型 .........................................................................

Global site tag (gtag.js) - Google Analytics