SpringBoot+Velocity,折腾了一个小时,竟然是因为一个小细节。

(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区别,折腾了好久。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章