校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > JAVA velocity模板引擎使用實例

JAVA velocity模板引擎使用實例

熱門標簽:杭州ai語音電銷機器人功能 電銷機器人是有一些什么技術 北票市地圖標注 商洛電銷 四川保險智能外呼系統商家 杭州語音電銷機器人軟件 地圖標注線上教程 高德地圖標注樣式 電銷機器人好賣么

velocity使用1.7版本。 在win7下使用intelliJ IDEA建立一基于tomcat的web app項目,命名為todo_web,設置path為/todo,導入velocity相關jar包。只導入velocity-1.7.jar這個包可能會報錯,根據提示再導入velocity自帶的其他包。 項目結構如下:



測試Tomcat

index.jsp內容如下:

復制代碼 代碼如下:

%-- Created by IntelliJ IDEA. --%>
%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
  head>
    title>/title>
  /head>
  body>
           %
               out.print("hi,todo");
           %>
  /body>
/html>

HelloWorld.java內容如下:
復制代碼 代碼如下:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;   
public class HelloWorld extends HttpServlet {
    /**
     *
     * @param request
     * @param response
     * @throws IOException
     * @throws ServletException
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("html>");
        out.println("head>");
        out.println("title>Hi!/title>");
        out.println("/head>");
        out.println("body>");
        out.println("h1>Hello World!!!/h1>");
        out.println("/body>");
        out.println("/html>");
    }
}

在web.xml中加入以下內容:
復制代碼 代碼如下:

servlet>
    servlet-name>hi/servlet-name>
    servlet-class>HelloWorld/servlet-class>
/servlet>
servlet-mapping>
    servlet-name>hi/servlet-name>
    url-pattern>/hi/url-pattern>
/servlet-mapping>

運行項目,在http://localhost:8080/todo和http://localhost:8080/todo/hi中可以看到效果。


使用velocity

下面開始使用velocity模板引擎,在src下建立目錄templates,在templates目錄下建立文件test.vm,內容如下:

復制代碼 代碼如下:

html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
/head>
body>
#set( $this = "Velocity")
$this is great!  br/>
$name  br/>
hi  , i am letian
h1>你好/h1>
/body>
/html>

在src目錄下新建java文件MyVelocity01.java:
復制代碼 代碼如下:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.VelocityContext;
import java.util.Properties;
public class MyVelocity01 extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        Properties properties=new Properties();
        properties.setProperty("resource.loader", "class");
        properties.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        //properties.setProperty("input.encoding", "UTF-8");
        //properties.setProperty("output.encoding", "UTF-8");
        properties.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");
        properties.setProperty(Velocity.INPUT_ENCODING, "UTF-8");
        properties.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
        VelocityEngine velocityEngine = new VelocityEngine(properties);
        VelocityContext context=new VelocityContext();
        context.put("name", "test");
        StringWriter sw = new StringWriter();
        velocityEngine.mergeTemplate("templates/test.vm", "utf-8", context, sw);
        //velocityEngine.mergeTemplate("templates/test.vm", "utf-8", context, sw);      //這樣就會出現兩次
        out.println(sw.toString());
    }
}

配置web.xml:

復制代碼 代碼如下:

!--MyVelocity-->
servlet>
    servlet-name>ve/servlet-name>
    servlet-class>MyVelocity01/servlet-class>
/servlet>
servlet-mapping>
    servlet-name>ve/servlet-name>
    url-pattern>/ve/url-pattern>
/servlet-mapping>

重新部署,瀏覽器訪問http://localhost:8080/todo/ve可以看到效果。

簡單介紹velocity

velocity是一個基于java的模板引擎,有三種文件加載模板方式: 1、從文件路徑加載 2、從類路徑(MyVelocity01.java使用該方法) 3、從jar文件加載 開始接觸velocity時可能會在加載模板上遇到問題。

如何向模板文件傳遞變量: 模板本身可以定義變量,例如在test.vm中定義了變量$this,java代碼也可以給模板傳遞變量,例如test.vm中的變量$name便是VelocityContext實例傳遞過去的。同時velocity也支持迭代對象,例如: 我們在MyVelocity01.java中導入java.util.Vector,將代碼:

復制代碼 代碼如下:

context.put("name", "test");

改為:
復制代碼 代碼如下:

Vector v = new Vector(); 
v.addElement("Harry"); 
v.addElement("John"); 
String[] names = {"Harry", "John"};
context.put("names1", v);
context.put("names2", names);

將test.vm內容改為:
復制代碼 代碼如下:

h1>hello/h1>
#foreach($name in $names1)
    $name   br/>
#end
#foreach($name in $names2)
    $name   br/>
#end

velocity還支持map容器,支持使用#include("")引入靜態模板,#parse("模板名")引入動態模板。

如果想不開要用java MVC寫網站的話,使用servlet + velocity是一個小巧靈活的選擇。

您可能感興趣的文章:
  • 詳解使用Mybatis-plus + velocity模板生成自定義的代碼
  • c#基于NVelocity實現代碼生成
  • SiteMesh如何結合Freemarker及velocity使用
  • Vue中JS動畫與Velocity.js的結合使用
  • 如何解決SpringBoot2.x版本對Velocity模板不支持的方案
  • SpringBoot與velocity的結合的示例代碼
  • 聊聊JS動畫庫 Velocity.js的使用
  • springMVC+velocity實現仿Datatables局部刷新分頁方法
  • 詳解velocity模板使javaWeb的html+js實現模塊化
  • Mybatis velocity腳本的使用教程詳解(推薦)
  • html文件中jquery與velocity變量中的$沖突的解決方法
  • Java 如何使用Velocity引擎生成代碼

標簽:西藏 云浮 紅河 江西 貴州 青島 宿州 丹東

巨人網絡通訊聲明:本文標題《JAVA velocity模板引擎使用實例》,本文關鍵詞  JAVA,velocity,模板,引擎,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JAVA velocity模板引擎使用實例》相關的同類信息!
  • 本頁收集關于JAVA velocity模板引擎使用實例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲精品免费在线| 91精品国产综合久久福利| 国产精品五月天| 成人福利电影精品一区二区在线观看| 国产人久久人人人人爽| 色综合久久99| 日av在线不卡| 亚洲国产精品激情在线观看| 色先锋aa成人| 日本vs亚洲vs韩国一区三区| 久久久久久久久久电影| 色综合激情久久| 日韩二区在线观看| 国产日韩欧美一区二区三区综合| 波多野结衣精品在线| 亚洲永久精品大片| 99久久夜色精品国产网站| 亚洲国产精品自拍| 久久久蜜桃精品| 欧洲国产伦久久久久久久| 蜜桃久久精品一区二区| 中文字幕一区二区三区精华液 | 99re成人在线| 天堂av在线一区| 国产精品少妇自拍| 欧美丰满嫩嫩电影| 成人网在线播放| 亚洲成a人片在线不卡一二三区 | 中文字幕永久在线不卡| 欧美日本在线一区| 成人h动漫精品一区二区| 天天综合色天天综合| 中文字幕乱码久久午夜不卡| 精品视频999| 成人三级在线视频| 老司机精品视频一区二区三区| 国产精品久久久久久久久图文区| 欧美一区二区三区在线| 日本精品免费观看高清观看| 国产一区二区在线影院| 午夜视频在线观看一区二区| 国产精品丝袜久久久久久app| 欧美精品 国产精品| 一本色道a无线码一区v| 成人自拍视频在线观看| 日韩av中文字幕一区二区| 亚洲欧美日韩国产另类专区| 国产女主播视频一区二区| 欧美岛国在线观看| 在线电影院国产精品| 91麻豆蜜桃一区二区三区| 国产自产v一区二区三区c| 日韩激情在线观看| 亚洲人成网站在线| 日韩三级中文字幕| 国产欧美综合色| 欧美精品一区二| 91精品国产一区二区三区 | 亚洲精品你懂的| 欧美激情在线免费观看| 精品国产一区二区三区不卡| 欧美日韩aaa| 欧美三级资源在线| 色天使色偷偷av一区二区| 成人午夜视频福利| 国产成人在线看| 国产夫妻精品视频| 豆国产96在线|亚洲| 国产v综合v亚洲欧| 国产不卡在线一区| 成人福利视频在线| 91网站在线播放| 日本乱码高清不卡字幕| 91视视频在线观看入口直接观看www | 91精品黄色片免费大全| 欧美日韩精品专区| 在线综合+亚洲+欧美中文字幕| 欧美精品在线观看播放| 91精品国产综合久久小美女| 欧美一区二区三区视频在线观看| 欧美精品一二三| 日韩一区二区中文字幕| 欧美一区二区三区视频免费播放 | 欧美成人激情免费网| 337p粉嫩大胆噜噜噜噜噜91av| 精品三级在线观看| 久久综合狠狠综合久久综合88 | 色综合久久88色综合天天| 欧美中文字幕一二三区视频| 欧美三级视频在线| 欧美猛男男办公室激情| 日韩欧美在线123| 久久综合给合久久狠狠狠97色69| 国产日韩欧美综合一区| 亚洲欧美偷拍另类a∨色屁股| 亚洲高清视频中文字幕| 奇米影视在线99精品| 国产一区二三区| 91小宝寻花一区二区三区| 欧美日韩久久一区二区| 精品国产凹凸成av人导航| 亚洲国产成人私人影院tom| 亚洲天堂精品在线观看| 日本不卡一二三区黄网| 国产精品77777竹菊影视小说| 99久久精品一区| 欧美一级久久久久久久大片| 中文文精品字幕一区二区| 一区二区三区精品在线观看| 美女视频一区二区三区| 成人免费高清视频在线观看| 欧美日韩一区二区在线视频| 精品99一区二区三区| 一区二区在线观看视频在线观看| 免费高清成人在线| 91丨porny丨蝌蚪视频| 日韩免费看的电影| 中文字幕日韩精品一区| 天堂成人免费av电影一区| 国产成人精品免费看| 欧美日韩dvd在线观看| 久久久国产综合精品女国产盗摄| 一区二区免费在线播放| 国产精品自在在线| 欧美久久久久久久久久| 中文字幕不卡在线观看| 日韩av在线播放中文字幕| 9l国产精品久久久久麻豆| 欧美电影精品一区二区| 亚洲午夜一区二区三区| 成人午夜电影网站| 日韩一区二区三区电影在线观看| 亚洲日本在线观看| 国产91精品欧美| 欧美一级黄色大片| 亚洲.国产.中文慕字在线| 99精品一区二区| 2019国产精品| 日韩国产在线观看| 欧美主播一区二区三区| 国产精品福利影院| 国产在线播放一区三区四| 欧美一区二视频| 亚洲国产精品综合小说图片区| 91一区二区在线观看| 欧美经典一区二区| 国产一区二区在线观看免费| 日韩一区二区三区视频在线 | 午夜精品久久久久久久久久| 91丨porny丨国产入口| 国产精品日韩成人| 粉嫩aⅴ一区二区三区四区| 久久久噜噜噜久噜久久综合| 日本不卡1234视频| 日韩一区二区影院| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩在线不卡| 亚洲一线二线三线视频| 色94色欧美sute亚洲线路一久| 中文字幕制服丝袜成人av| 波波电影院一区二区三区| 国产精品午夜久久| av亚洲精华国产精华精华| 国产精品久久久久久久久晋中 | 欧美一级片在线| 日韩av电影免费观看高清完整版 | 欧美精品一卡两卡| 婷婷久久综合九色综合绿巨人| 在线看国产一区| 亚洲成精国产精品女| 91精品国产综合久久精品麻豆| 亚洲成人资源网| 91精品国产高清一区二区三区蜜臀| 亚洲国产精品一区二区久久| 欧美日韩一区二区电影| 日本亚洲一区二区| 久久综合色综合88| 成人av资源在线| 亚洲精品免费电影| 欧美肥妇bbw| 国产精品自在欧美一区| 国产精品久久久久久久久免费丝袜| 99国产精品久久久久久久久久久| 亚洲天堂网中文字| 制服丝袜国产精品| 国产乱码精品一区二区三区五月婷| 亚洲国产高清不卡| 欧美午夜精品久久久久久孕妇| 午夜电影一区二区三区| 精品日韩99亚洲| av不卡在线播放| 日韩中文字幕一区二区三区| 精品99久久久久久| 92国产精品观看| 日日夜夜免费精品| 国产三级精品视频| 精品视频在线看| 国产成人免费网站| 性久久久久久久久久久久| 久久久久久久性|