zoukankan      html  css  js  c++  java
  • 只需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 谢谢!

  • 相关阅读:
    VMware中安装Ubuntu后,安装VMwareTools提示“Not enough free space to extract VMwareTools-10.3.10-13959562.tar.gz”的解决办法
    XShell下便捷上载/下载文件到虚拟机
    无法获取 vmci 驱动程序版本: 句柄无效。 驱动程序 vmci.sys 版本不正确。请尝试重新安装 VMware Workstation。 打开模块DevicePowerOn电源失败。
    VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本
    mybatisplus运行时修改@TableName注解的schema值
    easyexcel不创建对象导出图片
    鸿蒙(HarmonyOS)开发笔记四:项目结构
    鸿蒙(HarmonyOS)开发笔记三:核心概念
    鸿蒙(HarmonyOS)开发笔记二:使用DevEco Studio创建一个项目
    鸿蒙(HarmonyOS)开发笔记一:系统简介
  • 原文地址:https://www.cnblogs.com/zrtqsk/p/4010840.html
Copyright © 2011-2022 走看看