记下我做的第一个小例子:
velocity的文档写得的确不是很好,废话一大堆,
看了大半天了连个小例子都做不出来,还抛异常...
网上一搜,居然有人因为这个原因转投freemarker门下了,velocity真是失败
步骤:
1.了解Dependencies:
Jakarta Commons Collections - required.
Jakarta Commons Lang - required.
Excalibur (ex-Avalon) Logkit - optional
Jakarta ORO - optional.
我们只需要前两个就可以了.
再加上velocity-1.6.3.jar
2.开发第一个例子:
basic/Basic.java
public static void singletonUsage(){
try {
Properties props=new Properties();
//set some properties to configure the velocity.
Velocity.init(props);
VelocityContext context = new VelocityContext();
context.put("name", new String("Velocity"));
context.put("project", new String("Jakarta"));
Template template = null;
template = Velocity.getTemplate("./src/basic/BasicUsage.vm");
//默认模板的路径是当前目录,在eclipse运行时就是工程的根目录了
//为了方便查看,把模板放在跟类同一个文件夹
//开头的说明里也不提下哪个参数可以改变这个配置.唉
StringWriter sw = new StringWriter();
template.merge(context, sw);
/* lets make our own string to render */
String s = "We are using $project $name to render this.";
Velocity.evaluate( context, sw, "logTagName", s );
//将template的输出加上s的输出,写到sw那里,然后打印出来.
System.out.println( sw );
} catch (Exception e) {
e.printStackTrace();
}
}
运行后报错!
org.apache.velocity.exception.VelocityException: Failed to initialize an instance of org.apache.velocity.runtime.log.ServletLogChute with the current runtime configuration.
没事,作为coder,我们是一定要让自己爱上异常d,慢慢查吧
先google下,发现有几个人跟我同命相连,但是他们都没有解决..
靠自己吧,看了下velocity的例子,发现使用到了lib下的所有jar包
那我就先试试多加几个jar包进去吧,
嘿嘿,搞定,不抛异常了,输出结果:
Hi! This Velocity from the Jakarta project.
We are using Jakarta Velocity to render this.
实际上,多加commons-logging.jar一个jar就可以了,其他的不用加.
//模板位置对应的参数已经找到:file.resource.loader.path
分享到:
相关推荐
### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...
1. avalon-logkit-2.1.jar - 用于日志处理。 2. commons-collections-3.2.jar - 提供集合操作的工具类。 3. commons-digester-1.8.jar - 解析XML配置文件的库。 4. commons-lang-2.1.jar - 常用的Java语言工具包。 5...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
本笔记基于林子雨老师在MOOC上的《大数据技术原理》课程,旨在为IT从业者和大学生提供一个全面了解大数据的基础框架。 首先,我们要认识到大数据的发展背景。随着互联网的普及,以及物联网、社交媒体、移动设备等...
这篇学习笔记将引导我们深入了解 SpringBoot 的基本用法,包括项目的创建、返回视图、数据库交互、前端与后端数据传递、日志管理和安全控制等方面。 1. **新建项目**: 创建 SpringBoot 项目通常是通过 Maven 或 ...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
Java私人学习笔记主要涵盖了Java编程语言以及与其相关的几个著名框架——Spring、Struts2和Hibernate,还有前端开发中常用的JavaScript。这些技术在IT行业中的应用广泛,是许多企业级应用开发的基础。以下是对这些...
尚学堂的Spring学习笔记.doc可能包含对这些特性的详细解释、实例代码以及如何在实际项目中应用的指导,对于想要深入理解Spring 3.0的开发者来说是一份宝贵的参考资料。通过阅读这份笔记,你可以系统地学习Spring 3.0...
"Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...
相比于其他模板引擎如Velocity,Freemaker支持更为灵活的过程调用、递归处理以及闭包回调等功能,使得开发者能够更加便捷地实现复杂的业务逻辑。 #### 二、基本语法 Freemaker使用特定的标签来定义其语法结构,这些...
关于大数据的定义,通常它被描述为具有三个V的特性:Volume(大量)、Velocity(高速)和Variety(多样)。近年来,随着技术的发展,又增加了两个V:Value(价值)和Veracity(真实性),强调了大数据的质量和潜在的...
这个入门教程和学习笔记是针对初学者设计的,帮助他们快速理解和掌握Struts2的核心概念和实践操作。 Struts2的学习首先需要理解MVC模式。MVC模式将应用逻辑分为三个部分:模型负责业务逻辑,视图负责展示数据,而...
本学习笔记将深入探讨Struts2的核心概念、工作原理以及如何在实际开发中有效利用它。 **1. MVC模式与Struts2** MVC模式是一种软件设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离...