Velocity學習(1)--hello world
阿新 • • 發佈:2019-01-27
主要內容:
(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>