Velocity学习(1)--hello world

主要内容:
(1)velocity的介绍
(2)Servlet+velocity 环境搭建和 Demo


1 velocity的介绍

velocity 是 apache 开发的一个基于 Java 的模板引擎,通过 velocity 特定的语法 VTL,能够在一段文本(模板)中引用 Java 对象的属性,以达到模板+数据模型(Java 对象)生成特定文本的目的。将模板引擎用于 web 开发,能够实现 Java 代码从显示的页面中分离,便于界面设计人员和 Java 程序员的分工。

2 Hello World

创建一个web项目

pom.xml

导入相应的jar

<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
</dependency>

DemoServlet.java

package com.wuk.velocity;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/DemoServlet")
public class DemoServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request,response);
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setAttribute("text", "hello");
        request.getRequestDispatcher("/WEB-INF/hello.vm").forward(request, response);
    }

}

web.xml的配置

    <servlet>
    <servlet-name>velocity</servlet-name>
        <servlet-class>
            org.apache.velocity.tools.view.VelocityViewServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>velocity</servlet-name>
    <url-pattern>*.vm</url-pattern>
    </servlet-mapping>

注意要拦截所有的vm页面请求进行处理

hello.vm

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Test Velocity</title>
</head>
<body>
<p>$text</p>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/wu2374633583/article/details/80114655