第五章 使用velocity模板引擎 最爽的Web组合开发就是Intellij IDEA + Maven + Spring Boot + Scala + Velocity + Boostrap + jQuery...来进行生命周期的管理,大多数情况下,我们需要重载这些配置(例如修改服务的启动端口,contextpath,filter,listener,servlet,session超时时间等) 本章我们介绍一下,在SB中使用模板引擎...SB默认支持的模板引擎 spring boot会自动配置 FreeMarker,Thymeleaf,Velocity,只需要在pom中加入相应的依赖即可 SB使用Velocity的依赖 <dependency...) spring.velocity.charset=UTF-8 spring.velocity.properties.input.encoding=UTF-8 spring.velocity.properties.output.encoding...的语法详情参考: toolbox的使用 我们在velocity模板文件中有时候需要格式化小数点,日期等输出,我们可以使用toolbox.
DOCTYPE html> 上传压缩项目包 <
通常velocity是配合spring mvc之类的框架在web中使用,但velocity本身其实对运行环境没有过多的限制,在单独的java application中也可以独立使用,下面演示了利用velocity...模板引擎生成 『每日发货单』邮件内容: 一、先定义邮件内容模板:mail-template.vm 用户,您好: 以下是 $date.format('yyyy-MM-dd...} public void setProductNum(int productNum) { this.productNum = productNum; } } 二、使用示例...classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); ve.init(); //加载模板...Template t = ve.getTemplate("mail-template.vm", "utf-8"); VelocityContext ctx = new
使用Velocity模板发送邮件的问题 最近做一个监控项目,需要发送邮件预警,选择了使用Spring整合velocity 模板发送邮件,遇到了2个问题: 问题1:中文乱码变成了????...下面分享解决这两个问题的方案: 1.spring中整合Velocity的配置文件需要指定UTF-8: ... 2.代码指定编码UTF-8 //模板发送 public void sendConfirmationEmail(final StudentInfo...使用Velocity模板发送邮箱示例 <font
解决 WordPress 4.9 页面模板功能无法正常使用 WordPress.jpg WordPress 4.9 有一个重要更新是:在WP后台编辑主题和插件文件时,支持按层级显示所有文件...为了性能考虑,使用了 transient 缓存机制。...但是却没有提供任何手动清除缓存的功能,导致有些用户升级到 WordPress 4.9 以后,发现“页面属性 – 模板”这个功能不能正常使用了,不显示主题自带的模板文件!
模板 mapper 模板 公共方法 测试类 什么是velocity 也就是前端程序员写velocity模板,后端程序员写数据模型,最后整合就是展示给用户的东西 应用场景 组成结构 快速入门...以上就是创建了一个maven项目 我们要在项目中使用velocity,所以要导入对应的依赖 <!...的模板文件 Template template = Velocity.getTemplate("vms/01-quickstart.vm", "utf-8"); //...模板,后端写代码,将数据填充到模板里面,生成HTML文件 以后就是 填充的内容需要是动态的,使用的模板是动态的,输出的HTML的路径是动态的,其他的都是固定的。...,也就是我们要使用哪个模板生成java文件 * @param className 实体类名称 User * @param packageName 包名称 在哪个包下生成
源代码生成 :velocity可用于基于模板生成Java源代码 自动电子邮件:网站注册,认证等的电子邮件模板 网页静态化:基于velocity模板,生成静态网页 velocity结构 Velocity...app模块:主要封装了一些接口,暴露给使用者使用。主要有两个类,分别是Velocity(单例)和VelocityEngine。...快速入门 1.需求分析 使用velocity定义html模板,将动态数据填充到模板中,形成一个html 2.....加载velocity模板 Template template = Velocity.getTemplate("vms/01-quikstart.vm", "utf-8");.../4.加载velocity模板 Template template = Velocity.getTemplate("vms/02-cite-变量引用.vm", "utf-8");
else #foreach 引入资源指令 宏指令 什么是velocity 也就是前端程序员写velocity模板,后端程序员写数据模型,最后整合就是展示给用户的东西 应用场景 组成结构 快速入门...以上就是创建了一个maven项目 我们要在项目中使用velocity,所以要导入对应的依赖 <!...的模板文件 Template template = Velocity.getTemplate("vms/01-quickstart.vm", "utf-8"); //...5 合并数据到模板 FileWriter fileWriter = new FileWriter("D:\\javacode\\velocity_01\\src\\main\\resources...模板,后端写代码,将数据填充到模板里面,生成HTML文件 以后就是 填充的内容需要是动态的,使用的模板是动态的,输出的HTML的路径是动态的,其他的都是固定的。
使用maven引入jar org.apache.velocity velocity 1.7 org.apache.velocity velocity-tools...; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import...);//CommonConstants.templateFileDir //html文件生成全路径 File file = new File("", "UTF...* @param tempFileName 模板文件 * @param file HTML生成的全路径 * @param context 模板上下文...); return engine; } /*** * 创建模板文件 * * @param fileContext 模板内容 *
Velocity简介 Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。...{}的写法,使用$vari获取变量时,如果变量不存在,Velocity引擎会将其原样输出,通过使用$!...在web项目中使用Velocity velocity只是一个模板引擎,在web项目中使用Velocity还得添加一个HTTP框架来处理请求和转发,apache提供了velocity-tools,其提供了...当然,也可以不配置velocity.properties,使用缺省的值即可. ## 设置模板文件加载器,webapp从应用根目录加载 resource.loader = webapp webapp.resource.loader.class...包中已经包含了这个类,其使用分为如下几步: 5.1 配置velocity.properties 在/WEB-INF/路径下配置velocity.properties文件,指定模板布局文件的位置 input.encoding
二、java常用的模板引擎有哪些 jsp:是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。...Velocity:不仅可以用于界面展示(HTML.xml等)还可以生成输入java代码,SQL语句等文本格式。 FreeMarker:功能与Velocity差不多,但是语法更加强大,使用方便。...三、常用模板引擎对比 由于jsp与thymeleaf主要偏向于网页展示,而我们的需求是生成java代码与mybatis配置文件xml。顾这里只对Velocity与FreeMarker进行对比。...示例:1万次调用动态生成大小为25kb左右的mybatisxml文件 1、Velocity 模板文件 <!.../src/test/resources"); ve.init(); Template template = ve.getTemplate("velocity.vm", "UTF-8"); VelocityContext
技术选型 由于功能机试不支持js的,前端使用vue不现实,只能通过模板的形式 可以使用jsp,freemarker,Thymeleaf等引擎,但最终选型velocity模板(老大用过罢了) 后端使用...spring.velocity.charset=UTF-8 spring.velocity.check-template-location=true spring.velocity.content-type...xml version="1.0" encoding="UTF-8"?...在vm页面中使用 日期处理 处理前:$time 处理后:$!DateTool.format($!time) ?...test
指定使用模板的视图列表....spring.velocity.content-type 设定ContentType的值 spring.velocity.date-tool-attribute 设定暴露给velocity上下文使用的...DateTool的名 spring.velocity.enabled 设定是否允许mvc使用velocity spring.velocity.expose-request-attributes...Thymeleaf,默认为: true spring.thymeleaf.encoding 指定模板的编码,默认为: UTF-8 spring.thymeleaf.excluded-view-names...指定不使用模板的视图名称,多个以逗号分隔.
最开始使用velocity时,输出中文乱码,我的解决办法 是在调用 mergeTemplate 方法时指定encoding为UTF-8,然后就正常了。...Velocity.mergeTemplate(String templateName, String encoding, Context context, Writer writer) 然而最近在使用velocity...写模板时发现宏(#macro)中如果有中文,就会输出乱码(之前一直没有在macro中使用过中文)。...,"UTF-8"); vprops.put(Velocity.OUTPUT_ENCODING,"UTF-8");// OUTPUT_ENCODING可以不设,因为我在调用mergeTemplate方法时已经指定了...encoding 为UTF-8 Velocity.init(vprops);
那 Velocity 有什么应用场景呢? Web应用程序 : 作为为应用程序的视图, 展示数据。 源代码生成 : Velocity可用于基于模板生成Java源代码。...自动电子邮件 : 网站注册 , 认证等的电子邮件模板。 网页静态化 : 基于velocity模板 , 生成静态网页。 组成结构: 模块 描述 app 主要封装了一些接口 , 暴露给使用者使用。...Context 主要封装了模板渲染需要的变量 Runtime 整个Velocity的核心模块,Runtime模块会将加载的模板解析成语法树,Velocity调用mergeTemplate方法时会渲染整棵树...详细介绍大家可以看官网,传送门放这里了:The Apache Velocity Project 2、 快速入门 这里给大家简单演示如何使用Velocity定义html 模板,然后将动态数据填充到模板中,...Template tpl = Velocity.getTemplate("vms/demo01.vm", "UTF-8"); // 5、合并数据到模板 FileWriter
一 前言 测试所使用的环境 测试使用的环境是企业主流的SSM 框架即 SpringMVC+Spring+Mybatis。...发送text格式的邮件 发送HTML格式的邮件 基于FreeMarker模板引擎发送邮件 基于Velocity模板引擎发送邮件 如何获取以及运行我的Demo Github地址:https://github.com...-- velocity模板引擎 --> org.apache.velocity velocity<...w=1156&h=536&f=png&s=38412] 基于FreeMarker模板引擎发送邮件 下图是我们用到的FreeMarker模板文件以及Velocity模板文件的位置。... 你好${user} 效果: 不知道为啥,腾讯每次把我使用模板引擎发的邮件直接放到垃圾箱。
一、前言 常见的Java模板引擎有JSP、Freemark,Velocity。...在MVC三层框架中,模板引擎属于view层,实质是把model层内容展现到前台页面的一个引擎,velocity以其前后端解耦使前后台可以同时开发和其语法的简易性得到了广泛的应用,集团WebX框架就建议使用它作为模板引擎...**VelocityEngine ** ,相比于Velocity提供了更加强大的功能,框架开发者一般使用这个类在框架中使用velocity模板渲染功能,内部也是是委托给RuntimeInstance来具体实现的...** 3)、RunTime模块 ** 源码org.apache.velocity.runtime包下: 负责加载模板文件,解析为JavaCC语法树,使用深度遍历算法渲染语法书节点,生成渲染结果。...所以在编写velocity模板时候尽可能使用临时变量保存反射调用结果,减少反射调用次数,降低页面渲染时间。
Velocity 这个模板引擎就可以在一定程度上解决这个问题。 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。...3、自动 Email:很多软件的用户注册、密码提醒或者报表都是使用 Velocity 来自动生成的。使用 Velocity 可以在文本文件里面生成邮件内容,而不是在 Java 代码中拼接字符串。...4、转换 xml:Velocity 提供一个叫 Anakia 的 ant 任务,可以读取 XML 文件并让它能够被 Velocity 模板读取。...它允许任何人仅仅使用简单的模板语言(template language)来引用由 java 代码定义的对象。...针对这个漏洞,大概来说的话,因为 Velocity 模板语言可以使用在 Java 中定义的对象和变量上。
FieldTool ClassTool 背景 我们已经知道了velocity的基础知识,现在有一个工具包,VelocityTools GenericTools 使用 什么叫做GenericTools...-- velocity 的工具包 要使用人家工具包里面的api,就需要导入工具包--> org.apache.velocity.tools...> 快速入门 项目中已经导入了依赖,我们自己创建一个模板,在这个模板里面就可以使用工具类了。...这个文档里面有很多的类,每一个类里面有很多的方法,我们就是使用这个类里面的方法 比如这个时间,就是一个类,这个类里面有很多的方法 这个类里面的一些方法是 使用步骤: 写一个vm,里面使用工具类...xml version="1.0" encoding="UTF-8"?
领取专属 10元无门槛券
手把手带您无忧上云