一头扎进springboot之使用Freemarker模板引擎渲染web视图

来源:互联网 发布:韩都衣舍淘宝 编辑:程序博客网 时间:2024/05/22 09:50

在springboot的官方文档中是不建议在项目中使用jsp这样的技术的,取而代之的是freemark、velocity这样的模板引擎。

首先和大家来说一下这个模板引擎的概念,这里特指用于web开发的模板引擎。模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档

那么我们的freemark也是有着自己凸显的优点在,才会这么受欢迎

1.freemark不支持写java代码,实现严格的mvc分离

2.性能非常不错

3.对jsp标签支持良好

4.内置大量常用功能,使用非常方便

5.宏定义(类似jsp标签)非常方便

6.使用表达式语言

然后现在来看怎么在springboot中整合freemark模板

1》.在pom.xml文件中引入freemark的依赖包

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>
2》在src/main/resource/创建一个templates文件夹,后缀为*.ftl,里面新建一个index.ftl的文件,内容如下

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8" /><title></title></head><body>  ${name}</body> </html>

3》Controller层写入一个方法,内容如下

@Controllerpublic class IndexController {@RequestMapping("/index")public String index(ModelMap map){//ModelMap转发值的作用map.addAttribute("name","喵喵");return "index";}}

这样我们在访问这个方法时,就能够获取到值了



简单的freemark的整合就是这样的,然后我们在来看看freemark里获取list的数据是怎么获取的

先去IndexController造一些list的数据

@Controllerpublic class IndexController {@RequestMapping("/index")public String index(ModelMap map){//ModelMap转发值的作用map.addAttribute("name","喵喵");map.put("sex", 1);List<String> userList = new ArrayList<String>();userList.add("张三");userList.add("李四");userList.add("王五");map.addAttribute("userList",userList);return "index";}}

然后在index.ftl利用list接受遍历即可,这里的写法和jsp还是有很大的区别的

<#if sex==1>            男      <#elseif sex==2>            女     <#else>        其他          </#if>   <#list userlist as user>   ${user} </#list>

然后我们在访问方法时,浏览器就会显示我们获取到的数据啦


如果想要了解freemark更多的内容,可以私信哦

原创粉丝点击