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

在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层写入一个方法,内容如下

@Controller
public class IndexController {

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

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



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

先去IndexController造一些list的数据

@Controller
public 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更多的内容,可以私信哦

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值