Veloctiy入门的实例

来源:互联网 发布:2016淘宝刷钻价格表 编辑:程序博客网 时间:2024/05/20 00:15

刚学习mybatis-plus,因为里面有用到velocity,就百度了一下,发现velocity不仅是一个基于Java的模板引擎,还可以用来做许多事情,例如源代码生成,自动Email等功能,详细介绍大家可以去看这篇文章

下面是我打的项目,先来一张目录截屏
目录截屏

MyVelocityViewServlet.java

package com.sve.web;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.velocity.Template;import org.apache.velocity.context.Context;import org.apache.velocity.tools.view.VelocityViewServlet;public class MyVelocityViewServlet extends VelocityViewServlet {    protected Template handleRequest(HttpServletRequest request,HttpServletResponse response,Context ctx) {        //往Context容器存放变量        ctx.put("fullName", "zhongxiaolan");        //页可以往request域中存值        request.setAttribute("anotherName", "xlli");        //forward到指定模板        return getTemplate("vm/test.vm");    }}

配置velocity.properties

## 日志文件  runtime.log.logsystem.class=org.apache.velocity.runtime.log.SimpleLog4JLogSystemruntime.log.logsystem.log4j.category=velocityruntime.log.logsystem.log4j.logger=velocity## 设置模板文件加载器,webapp从应用根目录加载resource.loader = webappwebapp.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader## 模板路径,根目录下的vm文件夹webapp.resource.loader.path = /vm##设置编码input.encoding = UTF-8output.encoding = UTF-8

编写vm文件

#set($greet = "hello")<!doctype html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>     <p>$!{greet} $!{fullName}</p>     <p>my another name is $!{anotherName}</p></body></html>

最后配置web.xml

<servlet>
<servlet-name>MyVelocityServlet</servlet-name>
<servlet-class>com.sve.web.MyVelocityViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyVelocityServlet</servlet-name>
<url-pattern>/servlet/myVelocityServlet</url-pattern>
</servlet-mapping>

访问路径为:http://localhost:8080/velocity/servlet/myVelocityServlet

使用到的包(包大家就自己去找吧)
包

学习一下velocity真的感觉自己要被气死,老是报错,不是找不到包,就是找不到资源文件,都要疯掉了。。。不过还好坚持下来了

原创粉丝点击