zoukankan      html  css  js  c++  java
  • web基础----->模板引擎Velocity的使用(一)

      Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。今天我们就学习一下Velocity的用法。

    Velocity的第一个例子

    项目的主体是两个文件,文件的位置如下图:

    一、在pom中添加Velocity的依赖

    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>

     二、HelloVelocity的代码如下:

    package com.liuling;
    
    import org.apache.velocity.Template;
    import org.apache.velocity.VelocityContext;
    import org.apache.velocity.app.VelocityEngine;
    import org.apache.velocity.runtime.RuntimeConstants;
    import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
    import org.junit.Test;
    
    import java.io.StringWriter;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    /**
     * Created by huhx on 2017-07-14.
     */
    public class HelloVelocity {
        @Test
        public void velocity_test_1() {
            VelocityEngine ve = new VelocityEngine();
            ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
            ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); 
            ve.init();
    
            Template t = ve.getTemplate("template/Hellovelocity.vm");
            VelocityContext ctx = new VelocityContext();
    
            // 数据
            ctx.put("className", "HelloVelocity");
            ctx.put("description", "My first velocity demo.");
            ctx.put("date", (new Date()).toString());
    
            List temp = new ArrayList();
            temp.add("username");
            temp.add("password");
            ctx.put("list", temp);
    
            StringWriter sw = new StringWriter();
            t.merge(ctx, sw);
            System.out.println(sw.toString());
        }
    }

     三、Hellovelocity.vm的内容如下:

    #set( $myName = "huhx" )
    /**
     * @author: $myName
     * @date:   $date
     * @description: $description
     */
    public class $className {
    #foreach($name in $list)
        private String $name;
    #end
    }

     四、运行的结果如下:

    /**
     * @author: huhx
     * @date:   Fri Jul 14 10:48:46 CST 2017
     * @description: My first velocity demo.
     */
    public class HelloVelocity {
        private String username;
        private String password;
    }

    友情链接

  • 相关阅读:
    Kubernetes之Pod调度约束即将Pod分配给节点
    Kubernetes控制器之DaemonSet
    Kubernetes控制器之StatefulSet
    PureFtpd 连接数据库错误
    Ubuntu 脚本笔记
    饥荒 死亡后不删存档的办法
    浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
    Mac 设置环境变量
    给现有MVC项目增加Web API支持
    文件编辑器 vi
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusewebvelocity1.html
Copyright © 2011-2022 走看看