SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
因接触一个使用Velocity的模板引擎的Spring Boot项目,想自己动手试验一下,发现现在新版本在官网上已经不支持Velocity了。
可以发现已经没有velocity的选项了,现在手动添加
1.下载velocity相关的依赖http://velocity.apache.org/download.cgi#engine
下载的是:
engine-core | velocity-engine-core-2.0.jar |
---|
在Idea中导入jar包,点击file中的project structure
然后选择modules中的dependencies,点击那个+号,找到你刚刚下载好的文件,导入外部的jar包了。
在pom文件中手动添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-velocity</artifactId> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency>
手动将Spring Boot的版本改低
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> <relativePath/> </parent>
保存运行 ,看到velocity那一行说明已经成功的导入了velocity的依赖
自此,你就可以正常使用这个引擎了。
这部分是做一个入门的小demo
- 创建一个SpringBoot项目
- 编写Controller类
- 在templates里面编写index.vm
- 补充,其实可以在配置文件加一行spring.velocity.suffix=.html,这样就可以直接把模板文件后缀名写成.html方便编辑器自动提示
import org.springframework.stereotype.Controller; `import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.util.*; @Controller public class IndexController { @RequestMapping(path = {"/"}, method = {RequestMethod.GET}) //@ResponseBody//这个说明返回的是数据不是真个页面 public String template(Model model) { model.addAttribute("value1", "v1"); List<String> colors = Arrays.asList(new String[]{"RED", "GREEN", "BLUE"}); model.addAttribute("colors", colors); return "index";//不用加后缀名,默认在template文件夹中找对应文件名.vm的文件 } }
原文:https://blog.csdn.net/sinat_31270499/article/details/82283880