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

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

  1. SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图

    什么是Freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而 ...

  2. IntelliJ IDEA 之 Spring Boot (五) Freemarker 模板引擎渲染 Web 试图

    Freemarker 把动态页面转成静态的微HTML,目的是提高引擎的搜录,现在大多的互联网公司都是在用Freemarker技术,我们也知道现在的网页访问都是.html或者.htm 等等,除了政府的项 ...

  3. 一头扎进SpringBoot视频教程(附源码与文档)

    目录:/099 一头扎进SpringBoot视频教程(附源码与文档) ┣━━<一头扎进SpringBoot>第八讲.mp4 ┣━━<一头扎进SpringBoot>第八讲源码及文 ...

  4. Java Email 发HTML邮件工具 采用 freemarker模板引擎渲染

    Java Email 发HTML邮件工具 采用 freemarker模板引擎 1.常用方式对比 Java发送邮件有很多的实现方式 第一种:Java 原生发邮件mail.jar和activation.j ...

  5. 一头扎进springboot之访问jsp页面

    springboot访问jsp呢其实也比较简单,废话不多说,我们直接看步骤 这里要声明一点的是,在建项目时,项目的类型不要选择jar,而要选择war 类型,因为我们需要引入jsp文件 1>pom ...

  6. 一头扎进springboot之捕获全局异常

    我们在写项目的过程中,遇到各种各样的异常都是很常见的,但是作为开发人员,是肯定不能将程序的异常暴露给用户的,我们需要对其进行友好提示,那么在springboot中,我们可以使用注解,在一个类中,把一些 ...

  7. 一头扎进springboot学习笔记

    https://pan.baidu.com/s/1k6XNtW8w-WolJK3Yr556Fg

  8. python自动化框架2019_《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!...

    1. 简介 本文开始介绍如何通过unittest来管理和执行测试用例,这一篇主要是介绍unittest下addTest()方法来加载测试用例到测试套件中去.用addTest()方法来加载我们测试用例到 ...

  9. 一头扎进Node系列 - 目录

    前言 本系列是属于初级教程.博主我也还只是一个node的新兵蛋子,想通过学习官网的API文档,慢慢的打好Node基础.当然后期这系列文档会慢慢完善,并且会添加一些项目实战中遇到的一些问题以及解决方案! ...

最新文章

  1. MATLAB调用python文件方法
  2. zoj1081判断点是否在多边形内
  3. HighCharts入门
  4. php soap 下载文件,允许下载SOAP API响应(PHP)中的PDF文件get(作为附件)
  5. hdu 1209 clocks wrong answer 我的错误代码(没审好题唉,角度一样后,还要按小时排序。...
  6. Spring的Bean有哪些作用域?
  7. 在Oracle中查询表的大小、表的占用情况和表空间的大小
  8. matlab3维b样条曲线_MATLAB-3次B样条
  9. android 微信朋友圈相册封面裁剪的小秘密
  10. 安装历史版本nvidia显卡驱动
  11. linux lamp php5.4一键安装包,LAMP一键安装包(linux+apache+mysql+php)
  12. 音频压缩算法ALaw,uLaw
  13. 愤怒!竟然还有学校还在教 Java 的 Swing
  14. 如何将图片做成内外边框HTML,如何用html给图片加边框
  15. PTA - 厘米换算英尺英寸(C语言)
  16. TQ2440的学习——UBOOT移植(NAND FLASH的支持)——初步分析
  17. 【LaTeX试卷】天津大学仁爱学院高等数学试卷 LaTeX模板
  18. Python 助你填写高考志愿
  19. c语言位运算的妙用-程序优化
  20. Android系统电池管理(PowerManagerService)框架分析及其在实体设备和虚拟设备上的差异(一)

热门文章

  1. linux软中断和消息队列结合,传统UNIX进程间通信内核实现概要
  2. 计算机科学与技术考研双非,这几所双非院校,考研难度堪比985,211!
  3. 优雅的使用Onedrive推送书籍到Kindle
  4. hihoCoder-[Offer收割]编程练习赛100
  5. Spring的AOP实现
  6. python深度学习--Keras函数式API(多输入,多输出,类图模型)
  7. WPS Word表格转成文字或文字制成表格的快捷方法
  8. 联想Y50C加内存条
  9. Lévy State-Space Models for Tracking and Intent Predictionof Highly Maneuverable Objects
  10. Linux驱动之 字符设备 ioctl接口使用