一、前言
项目内最近在使用freemarker,简单看了一下很快就可以上手入门。其实我之前使用的大部分都是jsp。想要转换的话其实很容易,只要你认识HTML的标签就好。别的大家都是一样的。
二、代码示例
首先我们的步骤就是
1.导入WEB的包和FreeMarker的包,boot都帮我们整合成starter了直接引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.编写Controller层的示例代码:
@Controller
public class DemoController {
@RequestMapping("/index")
public String toindex(Map<String,Object> map) {
List<User> users = new ArrayList<>();
users.add(new User(1,"Zs"));
users.add(new User(2, "ls"));
map.put("lists", users);
map.put("name","hello");
map.put("date",new Date());
return "index";
}
}
3.在resources/template下增加静态页面
<!DOCTYPE html>
<html lang="en">
<body>
Date: ${name}
<br>
Time: ${date?date}
<br>
<table>
<tr>
<td>编号</td>
<td>姓名</td>
</tr>
<#list lists as l>
<tr>
<td>${l.id}</td>
<td>${l.name}</td>
</tr>
</#list>
</table>
</body>
</html>
4.启动项目访问/index
三、总结
其实和jsp一样滴,原来也是后台带参数给前台,前台再渲染。但是现在前台已经给好了模板就差填充数据啦,所以我们完全可以在有数据的情况下把页面先准备好请求的时候直接就是静态的页面这样一来会节省很多资源的开销。哈哈。而且FM的语法和jstl是不是很相似。我们只需要关注学习一下FM的语法就可以了。直达:FreeMarker的语法
OK,以上不足之处欢迎指正!