欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Velocity JAVA引擎模板 (八)宏

程序员文章站 2022-05-02 20:44:18
...

Velocity JAVA引擎模板 (八)宏

本文是【宏语句】demo

java

  /**
     * 宏
     */
    @Test
    public void test8() throws IOException {
        //1 加载配置
        Properties properties = new Properties();
        properties.load(Test.class.getClassLoader().getResourceAsStream("velocity.properties"));
        Velocity.init(properties);

        //2 创建上下文对象
        VelocityContext context = new VelocityContext();

        //3 将数据对象添加到此上下文中
        context.put("list", Arrays.asList("a", "b", "c", "d"));

        //4选择模板
        Template template = Velocity.getTemplate("./src/test/resources/template/macro.vm");
        template.setEncoding("UTF-8");
        //5 合并模板和数据并输出
        StringWriter sw = new StringWriter();
        template.merge(context, sw);
        sw.flush();
        log.info("-----------------------------start------------------------------------");
        log.info(sw.toString());
        log.info("-----------------------------end------------------------------------");
    }

模板 macro.vm

## 定义 Velocimacro

#macro (showTree)
    #set($ints=[1..10])
    #if ($ints )
        #foreach ($int in $ints )
            $int
        #end
    #end
#end

#showTree()

------------------------------------------

#macro (showList $list)
    #if ($list )
        #foreach ($e in $list )
            $e
        #end
    #end
#end

#showList()
## #showList($list)


相关标签: Velocity