国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

只需2分鐘,簡單構(gòu)建velocity web項(xiàng)目

2019-11-14 21:17:18
字體:
供稿:網(wǎng)友
只需2分鐘,簡單構(gòu)建velocity web項(xiàng)目

Velocity是一個(gè)基于java模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對(duì)象

  velocity的語法非常簡單。這里不多介紹。

  我們平時(shí)的web項(xiàng)目,通常的開發(fā)流程是前端寫好靜態(tài)頁面。后端將靜態(tài)頁面改成jsp,在相應(yīng)的需要替換數(shù)據(jù)的地方,使用 jstl、EL表達(dá)式等接收action模塊傳遞過來的數(shù)據(jù)。一般使用action來處處理參數(shù),調(diào)用service層來處理業(yè)務(wù)邏輯,service層調(diào)用dao層從數(shù)據(jù)庫取數(shù)據(jù)。我們可以看到,大體上就是后端發(fā)送數(shù)據(jù)給前端。

  這里一般會(huì)有一個(gè)很大的問題。如果業(yè)務(wù)變更,例如一個(gè)頁面本來要顯示一個(gè)表格,現(xiàn)在需要顯示3個(gè)表格,另外的2個(gè)表格是從之前的其他頁面合并的。mvc模式的好處就是,此時(shí),除了頁面的改動(dòng)之外,做業(yè)務(wù)邏輯處理的service層和dao層,都不需要變化,只需要改動(dòng)相應(yīng)的action層,調(diào)用所需的service模塊,將所需要的數(shù)據(jù)輸出。

  而如果使用velocity,除了頁面的改動(dòng)之外,其他都不需要改動(dòng)。

  velocity做web項(xiàng)目與我們平時(shí)的項(xiàng)目最大的不同是由前端從后端拿數(shù)據(jù)。需要什么就拿什么。我們完全可以通過velocity把前端和后端完全分離開來。

  下面使用一個(gè)簡單的例子模擬一下velocity的這種思想。

  (由于velocity自身并不提供任何web相關(guān)的功能,它只是通過模板生成格式文檔。但是,開發(fā)web應(yīng)用的時(shí)候,需要有一個(gè)框架來處理HTTP請(qǐng)求。velocity有一個(gè)非常好的子項(xiàng)目velocity-tools,使用它的VelocityViewServlet可以非常方便的實(shí)現(xiàn)這個(gè)功能。如下)

  1、依賴包只有2個(gè):最新的 velocity-1.6.2.jar 和 velocity-tools-2.0.jar,網(wǎng)址:http://velocity.apache.org/download.cgi

  2、首先看一下我們的web.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web application 2.3//EN"                          "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>           <servlet>          <servlet-name>velocity</servlet-name>          <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>          <init-param>            <param-name>org.apache.velocity.toolbox</param-name>            <param-value>/WEB-INF/conf/velocity-toolbox.xml</param-value>        </init-param>        <load-on-startup>3</load-on-startup>    </servlet>      <servlet-mapping>          <servlet-name>velocity</servlet-name>          <url-pattern>*.vm</url-pattern>      </servlet-mapping>      <welcome-file-list>        <welcome-file>index.vm</welcome-file>    </welcome-file-list></web-app>

  3、然后看一下簡單的頁面:

<html>  <body>    this is the Word : $mytool.getHello()    </body>  </html> 

  4、接下來是最重要的velocity-toolbox.xml 類,這里的工具類就是在頁面可以直接調(diào)用的類了。如下:

<?xml version="1.0" encoding="UTF-8"?><toolbox>  <tool>     <key>mytool</key>     <scope>request</scope>     <class>com.chandler.tool.MyTool</class>  </tool>    </toolbox>

  指定了請(qǐng)求到來時(shí)的工具類實(shí)例的生命周期為request

  5、OK,就這樣,可以訪問了,如下:

  

  可以看到,velocity的這種特性,使得它開發(fā)小型的網(wǎng)站變得非常便捷!很大的提高了開發(fā)效率!

  如果文中有什么不對(duì)的地方,歡迎指正!謝謝!

  轉(zhuǎn)載請(qǐng)注明出處:http://m.survivalescaperooms.com/zrtqsk/p/4010840.html 謝謝!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博白县| 南安市| 永靖县| 蒙城县| 阳山县| 惠来县| 万山特区| 北票市| 张家口市| 石阡县| 托克托县| 沾化县| 鄂州市| 东安县| 昔阳县| 郑州市| 富裕县| 临潭县| 鸡西市| 慈利县| 南开区| 阆中市| 专栏| 沁源县| 赤峰市| 忻州市| 大兴区| 阿拉善盟| 嘉祥县| 眉山市| 舞钢市| 丹阳市| 黑河市| 潼关县| 安陆市| 雅江县| 津市市| 民和| 鄢陵县| 江津市| 侯马市|