本文主要参考:http://hi.baidu.com/dalianjingying/item/1fb3a98ad64dcac299255f72

http://wangbaoaiboy.blog.163.com/blog/static/52111910200710234721806/

1、配置需要的jar包:

    (1.1)下载 velocity-tools-2.0.zip ,下载地址 http://archive.apache.org/dist/velocity/tools/

     (1.2)解压velocity-tools-2.0.zip ,拷贝解压后到目录下的 lib 文件夹下,拷贝所有的jar包 到D:\Program Files (x86)\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42\webapps\webDemo\WEB-INF\lib (如果没有lib,则自己建立lib)

PS1:velocity-tools-2.0目录结构:

D:\Program Files (x86)\velocity-1.6.3\velocity-tools-2.0\velocity-tools-2.0 的

目录





2013/08/08  11:28    <DIR>          .

2013/08/08  11:28    <DIR>          ..

2013/08/08  11:28               618 CONTRIBUTORS

2013/08/08  11:28    <DIR>          docs

2013/08/08  11:28    <DIR>          examples

2013/08/08  11:28    <DIR>          lib

2013/08/08  11:28            11,558 LICENSE

2013/08/08  11:28               465 NOTICE

2013/08/08  11:28             2,690 README.txt

2013/08/08  11:28             1,416 STATUS

2013/08/08  11:28               772 WHY_THREE_JARS.txt

               6 个文件         17,519 字节

               5 个目录 68,890,578,944 可用字节

PS2:

tools里有很多VTL页面用到的常用工具模块,相对jsp的常用工具来说,VTL将直接引用tools里的method进行事务处理,而不像jsp需要引用对象的属性来进行操作,省去了很多冗余的代码,方便页面制作者的眼睛。

2、配置velocityViewServlet

   (2.1)在web.xml里面添加如下  <servlet> ***</servlet-mapping> 之间的配置

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--> <web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true"> <servlet>
<servlet-name>velocityView</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param> <!--
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
--> <load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocityView</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping> </web-app>

作下解释,velocityView的servlet定义, 也就是VTL处理时将全权交给这个servlet,而下面几行servlet-mapping代码,定义了处理文件的后缀为.vm的文件将全数交给viewServlet处理,很简单吧?hoho



继续解释中间那段param设定,这里将用到一个toolbox的定义,引用toolbox的定义来初始化viewServlet

  (2.2)在web.xml同级目录下新建 toolbox.xml,内容如下

<?xml version="1.0"?>
<toolbox>
<tool>
<key>date</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.DateTool</class>
</tool>
<tool>
<key>math</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.MathTool</class>
</tool>
</toolbox>

其实就是将一个标准时间和数学计算的class加载到viewServlet里,使得VTL可以处理简单的计算和时间显示:>



以上完成velocity的VTL配置。

3、重启tomcat,完成配置



4、写vm,验证vm运行结果

//HelloVelocity.vm

<html>
<body>
#set( $foo = "Velocity" )
Hello $foo World!
</body>
<html>

验证结果:

http://localhost:8888/webDemo/Velocity/HelloVelocity.vm

Hello Velocity World!

附录:

1、Velocity Tools 是 Velocity 模板引擎的一个子项目,用来将
Velocity 与 Web开发环境集成的工具包。例如你可以利用 VelocityTools 来集成 Velocity 和 Struts 框架,同时
VelocityTools 还提供 Velocity 的布局模板,以及很多常用的工具包。[1]

Velocity之Hello World(tomcat下配置Velocity)的更多相关文章

  1. Tomcat 下配置一个ip绑定多个域名

    原文:http://pkblog.blog.sohu.com/68921246.html 在网上找了半天也没找到相关的资料,都说的太含糊.本人对tomcat下配置 一ip对多域名的方法详细如下,按下面 ...

  2. 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境

    目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...

  3. 在Tomcat下配置Solr 4.x 版本

    solr是一款非常优秀的全文检索服务器,最新版本在配置和前台页面上都做了较大的改动, 所以对用惯了老版本的朋友们来说,再重新配置新版本的solr,无疑又是一件痛苦的事情. 配置环境:windows   ...

  4. tomcat下配置https环境

    在网上搜了一下,内容不是非常完好. 现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin文件夹 (2)输入例如以下指令"keytool -v -genkey -alias ...

  5. Springmvc +JNDI 在Tomcat下 配置数据源(转)

    一.             简介 jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务 ...

  6. tomcat 下配置ajax 跨域 tomcat font face 跨域 java跨域

    tomcat  ajax跨域和css字体 font face  跨域一样适用 CORS介绍 它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式 ...

  7. tomcat下配置https环境(windows环境)

    在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...

  8. tomcat下配置https方式

    [本地HTTPS]①.<Connector SSLEnabled="true" clientAuth="false" keystoreFile=" ...

  9. tomcat下配置jndi数据源c3p0

    Tomcat下通过JNDI配置数据源,使用c3p0连接池 首先在打开tomcat找到在conf文件下,找到server.xml 在server.xml文件中找到标签 在下面添加如下配置 <Res ...

  10. Tomcat下配置JNDI的三种方式

    最近在整理项目上的配置文件,正好看到了数据源配置,想着配置方式有多种,便趁热打铁,记录下常规的Tomcat配置数据源的方式 1.单个工程配置 找到Tomcat下的server.xml文件,在Conte ...

随机推荐

  1. Day-4 路由匹配源码

    1. 请求来了会走WSGIHandler的call方法 convert_exception_to_response也是进行封装 真的handler是从下图定义 resolver = URLResolv ...

  2. 用 Hugging Face 推理端点部署 LLM

    开源的 LLM,如 Falcon.(Open-)LLaMA.X-Gen.StarCoder 或 RedPajama,近几个月来取得了长足的进展,能够在某些用例中与闭源模型如 ChatGPT 或 GPT ...

  3. Python数据可视化-折线图

    Python数据可视化-折线图 一.JSON数据格式 1.1 什么是json JSON是一种轻量级的数据交互格式.可以按照JSON指定的格式去组织和封装数据 JSON本质上是一个带有特定格式的字符串 ...

  4. DevOps|服务治理与服务保障实践指南

    朱晋君@君哥聊技术 我自己为了消化里边的内容,整理了一个脑图,希望对你有帮助. 凌晨四点被公司的监控告警叫醒了,告警的原因是生产环境跑批任务发生故障.即刻起床处理故障,但还是花了不少时间才解决. 这次 ...

  5. C# DateTime 时间格式化

    今天做任务的时候,数据库日期拼写需要 从凌晨到晚上最后一秒,但是传过来的日期数据是 当前的时间,下面是我尝试的解决方案. endTime.ToString("yyyy-MM-dd 23:59 ...

  6. 【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果

    软件破解分白盒和黑盒两种方式. 白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码.这种破解方式通常发生在软件的开发者.技术人员或软件公司内部.攻击者使用这些详细信息来理解软 ...

  7. maven系列:简介和安装配置(Mac、Linux、Windows、settings.xml、IDEA配置)

    目录 一.简介 二.安装 三.配置 Mac配置 Centos配置 Window配置 settings.xml配置 IDEA配置 一.简介 官网:https://maven.apache.org mav ...

  8. Vue【原创】可拖动列表 darg-list

    可拖动排序的列表 drag-list,这个比较简单易懂,拿例子直接运行看效果就好了. 组件代码: 1 <template> 2 <ul class="list" ...

  9. 每天一道面试题:Spring的Bean生命周期

    Spring的Bean生命周期包括以下步骤: 1.实例化(Instantiation):当Spring容器接收到创建Bean的请求时,它会先实例化Bean对象.这个过程可以通过构造函数.工厂方法或者反 ...

  10. .NET开源最全的第三方登录整合库 - CollectiveOAuth

    前言 我相信很多同学都对接过各种各样的第三方平台的登录授权获取用户信息(如:微信登录.支付宝登录.GitHub登录等等).今天给大家推荐一个.NET开源最全的第三方登录整合库:CollectiveOA ...