SpringBoot+Velocity,折騰了一個小時,竟然是因為一個小細節。
阿新 • • 發佈:2019-02-20
(spring boot最新版已經不支援Velocity)其實SpringBoot是非常方便的,使用Velocity模板比Spring配置更簡單。你不需要太多的配置。只需要
引用依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-velocity</artifactId> <version>${spring.boot.version}</version> </dependency>
然後在resources下放模板templates目錄,就可以正常工作。
Hello.java
@Controller
public class Hello {
@RequestMapping("/hello")
public String hello(Map<String, Object> model){
model.put("__projects",GitlabStore.getProjects());
return "hello" ;
}
}
hello.vm
<H1>${__projects.size()}</H1> <table> <tr><td>name</td><td>id</td></tr> #foreach($json in ${__projects.values()}) <tr><td>$json.get("name")</td><td>$json.get("id")</td></tr> #end </table>
其實是很容易就能正確工作的,關鍵是開始配置velocity之前最原始的測試時,Hello.java的@Controller寫的是@RestController,
結果死活不工作。排查也沒有想到這裡,最後把檔案都刪除了手工重寫,正常工作了,也不知道是哪有兒區別。和原來的歷史比較才發現是
@Controller和@RestController區別,折騰了好久。