六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 47|回复: 0

Velocity读取模板文件的方法

[复制链接]

升级  58%

7

主题

7

主题

7

主题

童生

Rank: 1

积分
29
 楼主| 发表于 2013-1-15 02:39:18 | 显示全部楼层 |阅读模式
在J2EE应用开发中,经常将Velocity模板文件打包在JAR文件中一起部署,但是Velocity的缺省行为是从OS的文件系统中读取模板文件,使用FileResourceLoader来读取模板文件。

如果要改为从classpath中获取模板文件,那么要对Velocity的初始化参数进行调整:
VelocityEngine ve=new VelocityEngine();
//可选值:"class"--从classpath中读取,"file"--从文件系统中读取
ve.setProperty("resource.loader", "class");
//如果从文件系统中读取模板,那么属性值为org.apache.velocity.runtime.resource.loader.FileResourceLoader
ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
ve.init();
Template t=ve.getTemplate("/vmpath/test.vm");

另外,Velocity缺省提供了多种读取模板的方法,列举如下,具体内容可以参考发布包中的Javadoc:
org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader
org.apache.velocity.runtime.resource.loader.JarResourceLoader
org.apache.velocity.runtime.resource.loader.StringResourceLoader
org.apache.velocity.runtime.resource.loader.URLResourceLoader
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表