如何解决SpringBoot2.x版本对Velocity模板不支持的方案
2018-12-09 20:04
2621 查看
背景
在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模板,欢迎有需要的小伙伴试用,使用过程中有问题可以直接反馈给我、
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- SpringBoot Controller Post接口单元测试示例
- 详解springboot整合Listener的两种方式
- Springboot整合Shiro之加盐MD5加密的方法
- springboot2.0集成rabbitmq的示例代码
- Centos下SpringBoot项目启动与停止脚本的方法
- 详解springboot之jackson的两种配置方式
- SpringBoot2.0整合jackson配置日期格式化和反序列化的实现
- springboot整合mybatis中的问题及出现的一些问题小结
- 详解springboot设置cors跨域请求的两种方式
- 详解在springboot中使用Mybatis Generator的两种方式
- Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例
相关文章推荐
- vmware 4.1版本物理机部署6.0版本OVF模板 报“硬件系列vmx-11不受支持“的解决办法
- Jdeveloper 安装与问题修复以及如何支持Maven和解决中文乱码和版本兼容
- 【笔记】Velocity模板 和 Spring的整合配置 解决页面乱码的最佳方案, 简单Demo了解Velocity
- IDEA如何解决switch不支持字符串的编译错误(1.7版本提示不兼容)
- 自从ECSHOP2.7.3起模板不再支持php代码。如何解决?
- 如何解决ZendFrameWork0.90版本不支持UTF8(Mysql数据库)?
- sql server如何将高版本的数据迁移到低版本中。解决数据库 'XX' 的版本为 655,无法打开。此服务器支持 611 版及...
- iOS如何解决某些方法低版本不支持的问题
- ie高版本浏览器不支持velocity的问题解决
- Jquery 2.0+版本不支持IE8,如何解决?
- 该如何解决Tomcat支持的J2EE版本的冲突问题
- 关于hadoop 1.2.1版本不支持“dfs.support.append”参数的解决办法
- 低版本ie不支持eval方法的解决
- 咨询调研后如何撰写重点问题解决措施方案?
- spring3.0发送电子邮件(velocity模板,带附件,群发,解决乱码
- php如何分割字符串?php mb_substr分割字条串,解决中文乱码问题,支持分割中文!
- 关于nodejs express4.X框架不支持layout模板的问题解决
- 如何解决安装CentOS时遇到引导分区位于一个GPT分区方案的错误提示问题
- firefox3解决不支持中文ftp的方案(转)
- [网络基础] 如何创建局域网问题解决方案--总结出品^