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

  1. 创建一个SpringBoot项目
  2. 编写Controller类
  3. 在templates里面编写index.vm
  4. 补充,其实可以在配置文件加一行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

 

posted @ 2019-07-12 21:57  牛牛魔王  阅读(932)  评论(0编辑  收藏  举报