简单几步,实现在spring boot中使用velocity或freeMarker模板构造页面后返回给前端:

1、引入依赖和创建templates目录:
Velocity:http://blog.csdn.net/clementad/article/details/51819647
FreeMarker:http://blog.csdn.net/clementad/article/details/51942629

2、创建模板文件:

创建两个文件,一个对应于正常的页面,文件名:

Velocity:welcome.vm

FreeMarker:welcome.ftl


[html] view plain

  1. <!DOCTYPE html>  

  2. <html>  

  3. <body>  

  4. <h4>亲爱的${toUserName},你好!</h4>  

  5.   

  6. <p style="color:blue;">${message}</p>  

  7.   

  8. 祝:开心!  

  9. </br>  

  10. ${fromUserName}  

  11. </br>  

  12. ${time}  

  13.   

  14. </body>  

  15. </html>  


一个对应于错误的页面(ulr输入错误时自动输出这个页面,文件名:error.vm或error.ftl):



[html] view plain

  1. <!DOCTYPE html>  

  2. <html>  

  3. <body>  

  4.     <p>有错误: ${status} ${error}</p>  

  5. </body>  

  6. </html>  



3、Controller代码:

[java] view plain

  1. package com.xjj.web.controller;  

  2.   

  3. import java.util.Map;  

  4.   

  5. import org.springframework.stereotype.Controller;  

  6. import org.springframework.web.bind.annotation.RequestMapping;  

  7.   

  8. import com.xjj.util.XDateUtils;  

  9.   

  10. @Controller  

  11. @RequestMapping("/web")  

  12. public class WebController {  

  13.       

  14.     @RequestMapping("/hi")  

  15.     public String hi(Map<String, Object> model) {  

  16.         model.put("time", XDateUtils.nowToString());  

  17.         model.put("message""这是测试的内容。。。");  

  18.         model.put("toUserName""张三");  

  19.         model.put("fromUserName""老许");  

  20.         return "welcome"//自动寻找resources/templates中名字为welcome.vm的文件作为模板,拼装后返回  

  21.     }  

  22. }  


4、测试:
浏览器中输入url:http://localhost:8082/web/hi
结果:

如果输入一个不存在的url,比如http://localhost:8082/web/hello,结果如下:


源代码参考:https://github.com/xujijun/my-spring-boot

附:

velocity官网:http://velocity.apache.org/

velocity语法参考:http://velocity.apache.org/engine/devel/vtl-reference.html

FreeMarker官网:http://freemarker.org/