因接触一个使用Velocity的模板引擎的Spring Boot项目,想自己动手试验一下,发现现在新版本在官网上已经不支持Velocity了。
可以发现已经没有velocity的选项了,现在手动添加
1.下载velocity相关的依赖http://velocity.apache.org/download.cgi#engine
在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的文件
}
}
<html>
<body>
<pre>
演示部分:
## 单行注释 你看不到我~~~
#* 块注释
你还是看不到我~~~~
*#
$!{value1}
$!{value2} ## 如果不存在,强制为空
${value3}
colors: $!{colors}
#foreach($color in $colors)
This is Color $!{foreach.index}: $color, $!{foreach.count}
#end
</pre>
</body>
</html>
结果如下
原文:https://blog.csdn.net/sinat_31270499/article/details/82283880