时间:2021-05-19
背景
在springboot1.4.x版本之前对velocity的模板支持的是相当好的,不止出于什么原因springboot从1.5.x以后停止了对velocity的支持,甚至在2.x版本中移除了和velocity的相关代码。目前手上有些项目使用的是velocity模板引擎,同时也使用了springboot,现在想升级到springboot2.x,同时还想继续使用velocity,怎么办?springboot不支持,就自己想办法支持下吧。 思路:把springboot早期版本的velocity支持单独抽出一个jar。
步骤1:
git clone https://github.com/spring-projects/spring-framework.git切换到 4.3.2.RELEASE 版本;拷贝org.springframework.ui.velocity和org.springframework.web.servlet.view.velocity 模块下velocity的相关代码;
步骤2:
git clone https://github.com/spring-projects/spring-boot.git切换到v1.4.0.RELEASE;拷贝:org.springframework.boot.autoconfigure.velocity模块下 velocity的相关代码;
由于spring5.x及springboot2.x移除了velocity相关的代码及配置,还要把spring.vm文件拷贝过来,整体代码架构如下图:
直接编译打包
接入使用:
在项目中直接添加如下依赖:
<dependency> <groupId>com.dianwoda.velocity</groupId> <artifactId>spring-boot-velocity-starter</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>并添加如下配置:
spring.velocity.charset=UTF-8 spring.velocity.properties.input.encoding=UTF-8 spring.velocity.properties.output.encoding=UTF-8 spring.velocity.resourceLoaderPath=classpath:/templates/ spring.velocity.suffix=.vm spring.velocity.toolbox-config-location=/WEB-INF/toolbox.xml在spring.xml中添加视图解析配置:
<!-- 设置视图解析工具 --> <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver"> <property name="cache" value="false"/> <property name="layoutUrl" value="layout/layout.vm"/> <property name="prefix" value="/templates/"/> <property name="suffix" value=".vm"/> <property name="exposeSpringMacroHelpers" value="true"/> <property name="contentType" value="text/html;charset=UTF-8"/> <property name="viewClass" value="org.springframework.web.servlet.view.velocity.VelocityLayoutView"/> </bean>按照上述配置即可在springboot2.x项目中使用velocity模板,欢迎有需要的小伙伴试用,使用过程中有问题可以直接反馈给我、
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在SpringBoot1.x中默认是Jedis作为客户端,但是在SpringBoot2.x后,默认就是LettuceRedis的远程连接,默认是不支持的,需要手
SpringBoot2.x已经发布了很久,现在SpringCloud也发布了基于SpringBoot2.x的Finchley版本,现在一起为项目做一次整体框架升
一、概述spring官方最近宣布,将在SpringFramework5.0版本中正式支持Kotlin语言。这意味着SpringBoot2.x版本将为Kotlin
首先检查一下你的springboot版本是多少?如果是2.X不用看了,springboot2.x必定会出现这个问题,改为1.5.9或其他1.x版本,目前生产环境
前提这篇文章是《SpringBoot2.x入门》专辑的第7篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8。这篇文章会简单