springboot2.7.8中使用velocity来渲染.vm格式文件,怎样做?
时间: 2024-03-27 09:35:15 浏览: 75
首先,需要在 pom.xml 中添加 Velocity 的依赖:
```xml
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
```
接着,在 Spring Boot 的配置文件中,需要添加 Velocity 的配置:
```properties
# Velocity properties
spring.velocity.resource-loader-path=classpath:/templates/
spring.velocity.suffix=.vm
spring.velocity.cache=false
spring.velocity.charset=UTF-8
```
其中,`spring.velocity.resource-loader-path` 指定模板文件的路径,`spring.velocity.suffix` 指定模板文件的后缀名,`spring.velocity.cache` 表示是否开启 Velocity 的缓存,`spring.velocity.charset` 表示模板文件的编码。
最后,在 Controller 中使用 Velocity 渲染模板文件:
```java
@Controller
public class ViewController {
@Autowired
private VelocityEngine velocityEngine;
@GetMapping("/hello")
public ModelAndView hello() {
ModelAndView mav = new ModelAndView();
mav.setViewName("hello");
Map<String, Object> model = new HashMap<>();
model.put("name", "World");
mav.addAllObjects(model);
return mav;
}
}
```
在上面的例子中,`hello()` 方法返回一个 ModelAndView 对象,其中 `setViewName()` 方法指定了要渲染的模板文件,`addAllObjects()` 方法用于设置模板文件中需要的数据。
阅读全文