文档章节

用eclipse创建一个最简单的velocity项目

Yashin
 Yashin
发布于 2014/01/03 15:59
字数 804
阅读 651
收藏 8
点赞 0
评论 0

必备环境:

JDK(不低于1.6建议1.7)、 eclipse java EE版 、tomcat(不低于5建议7.0)

为eclipse安装velocity编辑插件:

在Eclipse的Help->Install New Software...

点击“Add加 Veloeclipse,值:http://veloeclipse.googlecode.com/svn/trunk/update/

注:如果无法安装,在安装插件的界面中把 Group Items by Catagory 前打钩去掉。

创建步骤:

第一步:创建项目

打开eclipse,File -> New -> Other... -> Web -> Dynamic Web Projec

之后按照提示一路next,有两个注意地方:

一是修改代码文件输出路径,默认是build\classes。这个不符合tomcat的要求,需要改成下面这样:

二是勾选 Generate web.xml deployment descriptor

第二步:添加velocity依赖包

velocity相关的包有十多个,我将它们放入网盘方便大家下载,见文章未尾。下载解压后复制全部,选择项目WebContent -> WEB-INF ->lib文件夹,再选择右键菜单粘贴。

项目名右键菜单选择build path -> configure build path ->java build path ->libraries -> add jars 选择项目lib文件夹,选择全部jar最后点确认按钮。

第三步:添加velocity模板文件

在WebContent下添加一个文件夹,我起名叫templates。在该文件下添加一个hello.vm文件,里面内容:

[html] view plaincopy

  1. <html>  

  2. <head><title>Sample velocity page</title></head>  

  3. <body bgcolor="#ffffff">  

  4.     <center>  

  5.             <h2>Hello Velocity</h2>  

  6.             <table width="100" cellpadding="5" cellspacing="1" bordercolor="#333333">  

  7.             <tr><td bgcolor="#eeeeee" align="center">Names</td></tr>  

  8.             #foreach ($name in $theList)  

  9.             <tr><td bgcolor="#6666FF" align="center">$name</td></tr>  

  10.             #end  

  11.         </table>  

  12.     </center>  

  13. </body>  

  14. </html>  

第四步:添加java类文件

在Java Resource -> src下新建一个包,包名称我取名叫velocityHandler,名称随意,后面配置文件里要用到,前后一致就行。

在该包下添加一个类,类名我叫HelloHandler,这个也随意,道理同上。

类的代码:

[java] view plaincopy

  1. package velocityHandler;  

  2.   

  3. import java.util.Properties;  

  4. import java.util.Vector;  

  5.   

  6. import javax.servlet.ServletException;  

  7. import javax.servlet.http.HttpServletRequest;  

  8. import javax.servlet.http.HttpServletResponse;  

  9.   

  10. import org.apache.velocity.Template;  

  11. import org.apache.velocity.app.Velocity;  

  12. import org.apache.velocity.app.VelocityEngine;  

  13. import org.apache.velocity.context.Context;  

  14. import org.apache.velocity.tools.view.VelocityViewServlet;  

  15.   

  16. public class HelloHandler extends VelocityViewServlet{  

  17.     private static final long serialVersionUID = 1L;  

  18.     private VelocityEngine velo;    

  19.   

  20.     @Override  

  21.     public void init() throws ServletException{    

  22.   

  23.        //velocity引擎对象                    

  24.        velo = new VelocityEngine();   

  25.          

  26.        //设置vm模板的装载路径  

  27.        Properties prop = new Properties();  

  28.        String path = this.getServletContext().getRealPath("/");  

  29.        prop.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path + "templates/");  

  30.          

  31.        try {  

  32.           //初始化设置,下面用到getTemplate("*.vm")输出时  

  33.           //一定要调用velo对象去做,即velo.getTemplate("*.vm")  

  34.           velo.init(prop);  

  35.          } catch (Exception e1) {  

  36.           e1.printStackTrace();  

  37.          }  

  38.     }  

  39.       

  40.     @SuppressWarnings("unchecked")  

  41.     @Override  

  42.     protected Template handleRequest(HttpServletRequest request,  

  43.             HttpServletResponse response, Context ctx) {  

  44.           

  45.         String p1 = "Hoffman";  

  46.         String p2 = "Song";  

  47.         @SuppressWarnings("rawtypes")  

  48.         Vector personList = new Vector();  

  49.         personList.addElement(p1);  

  50.         personList.addElement(p2);  

  51.         ctx.put("theList", personList); //将模板数据 list放置到上下文环境context中  

  52.       

  53.         Template template = velo.getTemplate("index.vm");  

  54.         return template;  

  55.     }  

  56. }  

第五步:配置

打开WEB-INF下的web.xml文件,设置为下面内容:

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>  

  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  

  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   

  5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  

  6.     <servlet>  

  7.         <servlet-name>velocity</servlet-name>  

  8.         <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>  

  9.     </servlet>  

  10.     <servlet-mapping>  

  11.         <servlet-name>velocity</servlet-name>  

  12.         <url-pattern>*.vm</url-pattern>  

  13.     </servlet-mapping>  

  14.       

  15.       

  16.     <servlet>  

  17.         <servlet-name>hello</servlet-name>  

  18.         <servlet-class>velocityHandler.HelloHandler</servlet-class>  

  19.     </servlet>  

  20.     <servlet-mapping>  

  21.         <servlet-name>hello</servlet-name>  

  22.         <url-pattern>/hello</url-pattern>  

  23.     </servlet-mapping>  

  24.   

  25.     <welcome-file-list>  

  26.         <welcome-file>/templates/index.vm</welcome-file>  

  27.     </welcome-file-list>  

  28. </web-app>  

至此一个最简单的velocity项目创建完毕:


注:WEB-INF下的classes文件夹并不显示在项目结构图中

测试:

复制项目文件夹中的WebContent:

放在tomcat下:


这里你可以给文件夹改名

启动tomcat ,输入下面网址:


哈哈,最简单的一个velocity项目成功了!


本文转载自:http://blog.csdn.net/win32fanex/article/details/7752772

共有 人打赏支持
Yashin

Yashin

粉丝 252
博文 55
码字总数 5378
作品 1
深圳
高级程序员
Velocity练习:使用vm模板生成最简单的html页面

这几天要用到Velocity模板引擎去做一些页面,所以学习了下这个工具。我的jdk版本为 1.8.0_25 需要做的准备工作有: 1、建立一个Java工程,需要引用Velocity相关的jar包,这些jar包可从apach...

北风其凉
2016/05/11
2.5K
0
Eclipse-Java代码规范和质量检查插件-PMD

PMD是一个源代码分析器。 它发现常见的编程缺陷,如未使用的变量、空catch块、不必要的对象创建等等。 它支持Java、JavaScript、Salesforce.com Apex、PLSQL、Apache Velocity、XML、XSL等。...

easonjim
2017/10/18
0
0
【Java模板语言】TinyTemplate 实战 :Serlvet集成

Writer :BYSocket(泥沙砖瓦浆木匠) 一、什么是TinyTemplate 什么是模板语言? 模板语言是为了使用户界面与业务数据(内容)分离而产生的,并能生成特定格式的文档。 什么是TinyTemplate?...

泥沙砖瓦浆木匠
2015/11/04
0
4
VelocityEngine 和Velocity类解析

在我们 普通使用velocity的过程中,或者一开始使用velocity做demo的同学,总会对这段代码有印象: VelocityEngine velocity = new VelocityEngine(); VelocityContext context = new Veloci...

crazyinsomnia
2010/02/03
0
0
Eclipse的Velocity插件--ep4velo

因为 veloedit 自从 2003年6月开始就不再更新了,因此它无法支持 Eclipse 3.6 。因此作者创建了名为 ep4velo 项目,用于支持 Eclipse 3.6 下编辑 Velocity 模板。 安装方法:下载 com.langta...

匿名
2010/11/09
1K
0
VelocityEdit 1.5 发布,Eclipse的Velocity插件

VelocityEdit 1.5 发布了,Velocity-Edit 是基于 Velocity Web Edit (该项目已不再开发)插件进行改进一个 Eclipse 的 Velocity 模板编辑插件。 下载地址:com.hudson.velocityweb1.5.0.jar...

oschina
2012/06/13
2.2K
5
了解 Apache Click 框架

简介: 本文将介绍 Apache Click,这是一个 Java™ Platform, Enterprise Edition (Java EE) Web 应用程序框架,可以用它创建 Web 应用程序,而不需要使用 Model-View-Controller (MVC) 模式...

红薯
2010/05/08
3.8K
9
Jeecg-P3 1.0 发布,J2EE插件开发框架

Jeecg-P3 1.0 发布了,Jeecg-P3 1.0是一个J2EE插件开发框架。 特点:业务组件以JAR方式提供,插件模式、松耦合、可插拔、支持独立部署,也可以无缝集成Jeecg平台中。 【架构说明】 1.Jeecg-...

Jeecg
2016/03/23
2.6K
6
基于Velocity的Web开发指南

原文名称《Web Application Guide》,副标题为基于Web的应用技术和VelocityViewServlet入门,地址为此处链接。文章分为四部分,第一部分,通览使用Velocity创建Web应用的好处,第二部分,讲述...

zhmsong
2012/12/24
0
0
JAVA插件开发框架--Jeecg-p3

Jeecg-P3,J2EE插件开发框架 特点:业务组件以JAR方式提供,插件模式、松耦合、可插拔、支持独立部署,也可以无缝集成Jeecg平台中。 架构说明: 1.Jeecg-P3 采用SpringMvc + Minidao + Veloc...

Jeecg
2016/03/23
6.1K
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS中的toFixed,toExponential,toPrecision

toFixed():根据小数点后的指定位数,将数字转换为字符串,它不用指数计数法。 toExponential():根据小数点后指定位数,将数字转化为指数形式字符串。小数点前面只有一位,小数点后面的...

AndyZhouX
9分钟前
0
0
istio 路由实例解析

根据链路追踪图如上: 资料:https://istio.io/docs/guides/bookinfo/ 流程解析: 1. 访问地址: http://IP:31380/productpage kubectl get svc --all-namespaces -o wide istio-system isti......

xiaomin0322
13分钟前
2
0
Centos7通过yum安装jdk8

先查看系统是否已有自带的jdk rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输出信息,则说明系统没有安装。如果有输出信息,则执行下面的命令卸载 rpm -qa | grep jav...

iplusx
15分钟前
0
0
字体的动画

树不要皮必死无疑,人不要脸天下无敌。如果你此时正在被承受着不公平的待遇,不要伤心不要气馁,吃亏要趁早。 .menu ul li a { position:relative; color: #FFFFFF; text-decoration:...

Js_Mei
15分钟前
0
0
新手学习hadoop发行版本选择介绍

Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手。Hadoop开发太过底层,技术难度远比我们想象的...

左手的倒影
16分钟前
0
0
iOS定时器循环引用问题解决

我们通常使用NSTimer或CADisplayLink会使用以下方式 //定义@property (nonatomic, strong)NSTimer *timer;//实现self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:p......

xiaobai1315
17分钟前
0
0
给wordpress程序提速

在上一节中,我们介绍了wordpress CMS主题提速,本节我们接着介绍wordpress主题提速:gravatar用户头像缓存和google字体去除。 gravatar头像受到全世界网络用户的喜爱,设置好gravatar头像后...

hero2019
19分钟前
0
0
DevExpress v18.1最新版帮助文档下载大全

DevExpress v18.1.4帮助文档下载列表大全来啦!包含.NET、VCL、HTML/JS系列所有帮助文档,提供CHM和PDF两个版本。除已停止更新的Silverlight、Windows 8外,其余均为最新版本。 文章底部扫描...

Miss_Hello_World
22分钟前
0
0
Unity Shader中各种空间及变换方法

前几天尝试写一个传送门的shader,发现自己对坐标之间的变换掌握的不够熟练,趁着这阵子想整理shader相关的知识点,先把各种空间及之间转换整理一下。 1 模型空间-世界空间-观察空间-裁剪空间...

爽歪歪ES
28分钟前
0
0

定义和应用 栈(stack)是一种特殊的线性表,其插入(也称入栈或压栈)和删除(也称出栈或弹栈)操作都在表的同一端进行。这一端被称为栈顶(top)另一端称为栈底端(bottom)。 我们生活中其实...

Frost729
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部