解决SpringBoot2.x版本对Velocity模板不支持的方案

栏目: Java · 发布时间: 7年前

内容简介:直接编译打包在项目中直接添加如下依赖:并添加如下配置:

背景

在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文件拷贝过来,整体代码架构如下图: 解决SpringBoot2.x版本对Velocity模板不支持的方案

直接编译打包

接入使用:

在项目中直接添加如下依赖:

<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模板,欢迎有需要的小伙伴试用,使用过程中有问题可以直接反馈给我


以上所述就是小编给大家介绍的《解决SpringBoot2.x版本对Velocity模板不支持的方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

劫持

劫持

玛丽•K. 斯温格尔(Mari K. Swingle) / 邓思渊 / 中信出版集团股份有限公司 / 2018-5-1 / CNY 59.00

《劫持》是一本探讨人与科技的关系的书,基于一位心理学博士20年的临床经验及其作为神经认知科学研究者的脑—电研究成果。在这本面向大众的科普书中,作者以深入浅出的方式,探讨了手机、电脑等便携式数字设备及让人“永不下线”的互联网对现代人尤其是青少年大脑的影响,从神经认知科学和精神分析的角度,有力地证明了数字媒介与大脑和人类行为的关系,探讨了手机等如何对人的大脑进行劫持或操控,并给出了自己作为从业医师的实......一起来看看 《劫持》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试