当前位置: 首页 > news >正文

SpringBoot 项目中使用velocity模板(转载)

(不要使用这种模板了,spring boot最新版已经不支持了。使用FreeMarker吧:http://blog.csdn.net/clementad/article/details/51942629)

简单几步,在spring boot中使用velocity模板生成文本:

 

1、引入依赖

[objc]  view plain  copy
 
  1. <dependency>    
  2.     <groupId>org.springframework.boot</groupId>  
  3.     <artifactId>spring-boot-starter-velocity</artifactId>  
  4. </dependency>  


2、resources中创建templates目录


3、创建.vm模板文件welcome.vm:

[html]  view plain  copy
 
  1. <html>  
  2. <body>  
  3. 亲爱的${toUserName},你好!  
  4.   
  5.     ${message}  
  6.   
  7. 祝:开心!  
  8. ${fromUserName}  
  9. ${time}  
  10.   
  11. </body>  
  12. </html>  


4、使用模板,测试用例:

[java]  view plain  copy
 
  1. @Autowired  
  2. VelocityEngine velocityEngine;  
  3.   
  4. @Test  
  5. public void velocityTest(){  
  6.     Map<String, Object> model = new HashMap<String, Object>();  
  7.     model.put("time", XDateUtils.nowToString());  
  8.     model.put("message", "这是测试的内容。。。");  
  9.     model.put("toUserName", "张三");  
  10.     model.put("fromUserName", "老许");  
  11.     System.out.println(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "welcome.vm", "UTF-8", model));  
  12. }  


5、测试结果:

 

附:

velocity官网:http://velocity.apache.org/

velocity语法参考:http://velocity.apache.org/engine/devel/vtl-reference.html

源代码参考:https://github.com/xujijun/my-spring-boot

 

转载于:http://blog.csdn.net/clementad/article/details/51819647

 

相关文章:

  • 从房地产住宅销售面积增速看房地产行业
  • Android 7.0 中 ContentProvider 实现原理
  • 说说 Vue.js 中的自定义指令
  • mygenerator().next() AttributeError: 'generator' object has no attribute 'next'
  • 使用 ESLint + Prettier 美化代码
  • django进阶
  • 当安装、卸载件包时,出现依赖问题 error: Failed dependencies解决办法
  • vue.js实现单个页面操作之学习案例笔记
  • 盘点抖音源码中的广告变现方式
  • 搭建appium的android环境
  • six.moves的用法
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • Kotlin的LogUtil
  • DotNetNuke media module使用方法
  • 关于 typedef void * POINTER_64 PVOID64;问题
  • [译]前端离线指南(上)
  • 「面试题」如何实现一个圣杯布局?
  • css的样式优先级
  • JavaScript HTML DOM
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Spring Boot MyBatis配置多种数据库
  • Spring Cloud中负载均衡器概览
  • zookeeper系列(七)实战分布式命名服务
  • 多线程事务回滚
  • 京东美团研发面经
  • 最简单的无缝轮播
  • 湖北分布式智能数据采集方法有哪些?
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #{}和${}的区别?
  • (07)Hive——窗口函数详解
  • (2)STM32单片机上位机
  • (6)STL算法之转换
  • (arch)linux 转换文件编码格式
  • (编译到47%失败)to be deleted
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (剑指Offer)面试题34:丑数
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (五)网络优化与超参数选择--九五小庞
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • ./configure,make,make install的作用(转)
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 事件模型教程(二)
  • @JoinTable会自动删除关联表的数据
  • @PreAuthorize注解
  • [ 蓝桥杯Web真题 ]-布局切换
  • [04]Web前端进阶—JS伪数组
  • [Angular] 笔记 6:ngStyle
  • [ASP]青辰网络考试管理系统NES X3.5
  • [Avalon] Avalon中的Conditional Formatting.
  • [codeforces]Levko and Permutation
  • [HCIE] IPSec-VPN (手工模式)
  • [HITCON 2017]SSRFme perl语言的 GET open file 造成rce