1、创建SpringBoot项目时,勾选freemarker依赖(web,dev)
2、Controller中向model中存放数据

package com.ziv.springbootbygralde.controller;

import java.util.ArrayList;
import java.util.List; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import com.ziv.springbootbygralde.entity.UserEntity; @Controller
@RequestMapping("/temp")
public class FreeMarkerController { private static final Logger log = LoggerFactory.getLogger(FreeMarkerController.class); @RequestMapping("/show")
public String show(Model model) { model.addAttribute("str", "Hello Spring Boot freemarker");
UserEntity userEntity = new UserEntity();
userEntity.setId(100);
userEntity.setName("zhong ziv");
model.addAttribute("stu", userEntity); List<UserEntity> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
UserEntity usertemp = new UserEntity();
usertemp.setId(i);
usertemp.setName("user" + i);
list.add(usertemp);
}
model.addAttribute("user", list); log.info(model.toString());
return "show";
} @RequestMapping("/Demofreemarker")
public String freemarker(Model model) { model.addAttribute("str", "Hello Spring Boot freemarker");
///返回string必须和templates中的文件名称一致,否则报错
return "freemarker";
}
}

3、freemarker模板默认在templates/*.ftl可以在配置文件中改变设置

#freemarker configuration
#freemarker *.ftl
spring.freemarker.suffix=.html
#freemarker文件的目录,默认目录为templates下面的文件,web文件目录下的文件
spring.freemarker.template-loader-path=classpath:/web

4、freemarker模板上设置

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
</head>
<body>
<h3>show:${str}</h3>
<hr>
<h3>用户</h3>
<!-- ??判断stu是否存在,是否为null -->
<#if stu??>
<!-- id==1001才进行显示 -->
<#if stu.id ==1001>
编码:${stu.id}<br>
名称:${stu.name}<br>
<#else>
学生信息不为1001
</#if>
<#else>
没有学生信息
</#if>
<hr>
<h3>遍历学生</h3>
<#list user as u>
编码:${u.id}<br>
名称:${u.name}<br>
<hr>
</#list>
<button id="btn" >点击</button>
<script type="text/javascript">
$("#btn").click(function(){
alert("click");
})
</script>
</body>
</html>

SpringBoot中FreeMarker创建的更多相关文章

  1. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用

    1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...

  2. 基于springboot的freemarker创建指定格式的word文档

    在web或其他应用中,经常我们需要导出或者预览word文档,比较实际的例子有招聘网站上预览或者导出个人简历,使用POI导出excel会非常的方便,但是如果想导出word,由于其格式控制非常复杂,故而使 ...

  3. IDEA中SpringBoot项目快速创建单元测试

    如何在IDEA中对于SpringBoot项目快速创建单元测试 创建测试用例 右键需要进行测试的方法,选择GO TO然后选择Test 点击Create New Test 勾选需要创建单元测试的方法 然后 ...

  4. SpringBoot中使用@Scheduled创建定时任务

    SpringBoot中使用@Scheduled创建定时任务 定时任务一般会在很多项目中都会用到,我们往往会间隔性的的去完成某些特定任务来减少服务器和数据库的压力.比较常见的就是金融服务系统推送回调,一 ...

  5. 使用docker创建MySQL容器,并在springboot中使用

    最近在看网上找了个springboot的项目试试,在项目中需要的MySQL版本是5.7,但是本机的MySQL只有5.5.因此想着在我的服务器上跑一个MySQL:5.7的容器解决这一问题,但是在实际操作 ...

  6. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  7. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

    原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...

  8. springboot使用Freemarker继承

    最近需要用到Freemarker的继承.但是发现没有关于springboot配置Freemarker的继承的.所以趁现在有时间写个博客. 1. Freemarker继承介绍 Freemarker 通过 ...

  9. springboot整合freemarker(转)

    添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

随机推荐

  1. FPGA引脚锁定 注意err和高阻状态

    1.fpga没有用的的管脚一定要设置成高阻状态设置路径如下: Assignmen->Device->Device&Pin Option->Unused pins->As ...

  2. Protobuf(一)——Protobuf简介

    Protobuf简介 ​ 什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍: ​ Google Protocol Buffer( 简称 Proto ...

  3. 2Ubuntu学习

    1.设置Ubuntu系统的英文设置成中文 2.root用户密码设置 3.

  4. 二进制sersync部署安装

    一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除 ...

  5. NTC电阻Rt与温度T关系

    NTC电阻Rt与温度T公式如下: Rt=10000*exp(3950*(1/(273.15+T)-1/(273.15+25))). 例:0摄氏度时,电阻为33620.6037214357 欧姆 Rt= ...

  6. CSP2019 前 随感

    因为博主并没有任何的 oi 水平.文化课水平以及作文水平,下面的东西都是对辞藻和古诗词的堆砌. 不知不觉又到了新一年的 noip 了. 好像是去年的双十一的晚上,noip 考挂的我绝望地写了 bzoj ...

  7. Django【第3篇】:Django之模板语法

    Django框架之第三篇模板语法(重要!!!) 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: ...

  8. js原生高逼格插件

    如何定义一个高逼格的原生JS插件 作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高 ...

  9. hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)

    题目链接 题意:给出n个点.用两种颜色来给每个点染色.问能否存在一种染色方式,使不同颜色的点不能被划分到一条直线的两侧. 题解:求个凸包(其实只考虑四个点就行.但因为有板子,所以感觉这样写更休闲一些. ...

  10. 数组对象去重 reduce()

    let log = console.log.bind(console); let person = [ {id: 0, name: "小明"}, {id: 1, name: &qu ...