开发者社区> 分享达人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

velocity中加载模板文件的方式

简介: velocity有多中种方式供我们去加载我们自定义的模板文件,下面详细的介绍使用的方法。 1.1.1. 加载classpath目录下的模板文件 使用classpath方式加载,是我们经常用到的一种方式,因为我们的项目可能是web项目,使用这种方式加...
+关注继续查看

velocity有多中种方式供我们去加载我们自定义的模板文件,下面详细的介绍使用的方法。

1.1.1. 加载classpath目录下的模板文件

使用classpath方式加载,是我们经常用到的一种方式,因为我们的项目可能是web项目,使用这种方式加载我们类加载器跟路径中的模板文件,具体的使用如下所示:

程序的结构如下图所示:

 

shareniu.vm中我们定义了两个变量name,author模板的内容如下所示:

$name,

$author

程序如下所示:

Properties p = new Properties();
p.put("file.resource.loader.class",
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Velocity.init(p);
String templateFile="shareniu.vm";
Template template = Velocity.getTemplate(templateFile);
VelocityContext context = new VelocityContext();
        context.put("name", "shareniu.vm");
        context.put("author", "shareniu");
        StringWriter writer = new StringWriter();
        template.merge(context, writer);
        System.out.println(writer);


输出的程序如下:

shareniu.vm,

shareniu

大功告成,程序如期的输出我们定义的变量信息,并且进行了替换。

1.1.2. 根据绝对路径加载,模板文件置于硬盘中

有的时候,我们的项目不是一个web项目,所以,我们可以使用绝对路径加载的方式进行操作。模板还是第一种方式的模板。

具体的使用如下所示:

Properties p = new Properties();
p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "d://");
Velocity.init(p);
Template template =Velocity.getTemplate("shareniu.vm");
VelocityContext context = new VelocityContext();
        context.put("name", "shareniu.vm");
        context.put("author", "shareniu");
        StringWriter writer = new StringWriter();
        template.merge(context, writer);
        System.out.println(writer);


输出的程序如下:

shareniu.vm,

shareniu

大功告成,程序如期的输出我们定义的变量信息,并且进行了替换。

 

总结:

第一种方式使用的场景是web项目,或者不依赖操作系统具体的位置,依赖项目的位置。第二种使用的场景就是位置是固定的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【模板引擎】velocity
【模板引擎】velocity
8 0
ASP.NET Core: 十二.内置日志、使用Nlog将日志输出到文件(下)
应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用。   ASP.NET Core提供了内置的日志,但没弄明白这么把它输出到文件, 只能在VS的输出中查看, 谁知道怎么弄告诉我一下。
63 0
Velocity ${} 、$!{}、!${}的区别
Velocity ${} 、$!{}、!${}的区别
201 0
SpringBoot 项目中使用velocity模板(转载)
(不要使用这种模板了,spring boot最新版已经不支持了。使用FreeMarker吧:http://blog.csdn.net/clementad/article/details/51942629) 简单几步,在spring boot中使用velocity模板生成文本:   1、引入依赖 [objc] view plain copy            org.
2387 0
Velocity模板_toolbox
velocity模板引擎本身提供了基本的语法层面的解析,在实际的使用中还有很多可以扩展的工具来简化开发中遇到的一些问题,比如数据的格式化、页面相关的路径处理等。 开发环境 spring spring boot velocity spring boot mvc mybatis 使用指南 创建toolbox.xml: (放在WEB_INF目录下) <
1694 0
velocity模板引擎学习(3)-异常处理
按上回继续,前面写过一篇Spring MVC下的异常处理、及Spring MVC下的ajax异常处理,今天看下换成velocity模板引擎后,如何处理异常页面: 一、404错误、500错误 1 2 404 3 /nopage.
1007 0
velocity模板引擎学习(1)
velocity与freemaker、jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,(注:castle团队在github上也维护了一个版本)对于使用异构技术的团队(即要搞.NET又要搞JAVA),总是希望找一种通用的技术,兼容所有技术平台,以便降低学习成本,无疑velocity是一种值得考虑的选择。
959 0
+关注
分享达人
开源爱好者,喜欢钻研新技术。Activiti权威指南一书作者。
131
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载