只需2分鍾,簡單構建velocity web項目


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

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

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

  這里一般會有一個很大的問題。如果業務變更,例如一個頁面本來要顯示一個表格,現在需要顯示3個表格,另外的2個表格是從之前的其他頁面合並的。mvc模式的好處就是,此時,除了頁面的改動之外,做業務邏輯處理的service層和dao層,都不需要變化,只需要改動相應的action層,調用所需的service模塊,將所需要的數據輸出。

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

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

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

  (由於velocity自身並不提供任何web相關的功能,它只是通過模板生成格式文檔。但是,開發web應用的時候,需要有一個框架來處理HTTP請求。velocity有一個非常好的子項目velocity-tools,使用它的VelocityViewServlet可以非常方便的實現這個功能。如下)

  1、依賴包只有2個:最新的 velocity-1.6.2.jar 和 velocity-tools-2.0.jar,網址: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 類,這里的工具類就是在頁面可以直接調用的類了。如下:

<?xml version="1.0" encoding="UTF-8"?>

<toolbox>

  <tool>
     <key>mytool</key>
     <scope>request</scope>
     <class>com.chandler.tool.MyTool</class>
  </tool>
    
</toolbox>

 

  指定了請求到來時的工具類實例的生命周期為request

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

  

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

 

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

   轉載請注明出處:http://www.cnblogs.com/zrtqsk/p/4010840.html 謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM