码迷,mamicode.com
首页 > 其他好文 > 详细

Velocity中加载vm文件的三种方式

时间:2015-09-17 11:48:48      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

Velocity中加载vm文件的三种方式:

 

a.  加载classpath目录下的vm文件

Properties p = new Properties();
        // 加载classpath目录下的vm文件
        // 这里是加载模板VM文件,比如:/META-INF/template/Web_B2CPayment.vm(请参考mas_spring_integration.xml)
        p.setProperty("file.resource.loader.class",
                "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        p.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");
        p.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
        // 初始化Velocity引擎,init对引擎VelocityEngine配置了一组默认的参数 
        Velocity.init(p);

初始化成功后,使用:Velocity.getTemplate(templateFilePath); 加载文件!

b. 根据绝对路径加载 (vm文件置于硬盘某分区中,如:d:/template/test.vm)

Properties p = new Properties();
        // 初始化默认加载路径为:D:/template
        p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "D:/template")
        p.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");
        p.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
        // 初始化Velocity引擎,init对引擎VelocityEngine配置了一组默认的参数 
        Velocity.init(p);

初始化成功后,使用:Velocity.getTemplate("test.vm"); 加载文件!

c. 使用文本文件

   首先定义一个velocity.properties文件

  

input.encoding = UTF-8
file.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader

 

   然后,已流的形式加载该文件

Properties p = new Properties();
        // 加载properties文件
        p.load(this.getClass().getResourceAsStream("/velocity.properties"));
        // 初始化Velocity引擎,init对引擎VelocityEngine配置了一组默认的参数 
        Velocity.init(p);

 初始化成功后,使用:Velocity.getTemplate("test.vm"); 加载文件!

 

velocity定义了模板文件:*.vm,通过VelocityEngine加载该模板,以流的形式读取该模板,然后加载一个java对象,并将模板填充。

示例

 

Velocity中加载vm文件的三种方式

标签:

原文地址:http://www.cnblogs.com/huahua035/p/4815582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!