SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法

时间:2024-04-06 13:32:26

因接触一个使用Velocity的模板引擎的Spring Boot项目,想自己动手试验一下,发现现在新版本在官网上已经不支持Velocity了。

SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
可以发现已经没有velocity的选项了,现在手动添加

1.下载velocity相关的依赖http://velocity.apache.org/download.cgi#engine

SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
在Idea中导入jar包,点击file中的project structure
SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
然后选择modules中的dependencies,点击那个+号,找到你刚刚下载好的文件,导入外部的jar包了。
SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
在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的依赖
SpringBoot1.5以后版本废弃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的文件
    }

} 
<html>
<body>
<pre>
    演示部分:
    ## 单行注释 你看不到我~~~
    #* 块注释
    你还是看不到我~~~~
    *#
    $!{value1}
    $!{value2} ## 如果不存在,强制为空
    ${value3}
    colors: $!{colors}
    #foreach($color in $colors)
        This is Color $!{foreach.index}: $color, $!{foreach.count}
    #end
</pre>
</body>
</html>

结果如下
SpringBoot1.5以后版本废弃Velocity模板引擎的解决方法
原文:https://blog.csdn.net/sinat_31270499/article/details/82283880