springboot视图渲染技术freemarker

一、简介freemarker

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。因为Springboot创建maven项目中默认是没有不存在jsp页面,但又一个默认freemarker,使用的话就是直接新建ftl,在Spring.yml配置文件中添加Freemarker的配置即可成功访问这个ftl文件,因为是在浏览器中访问的,浏览器对于HTML标签兼容是最好的,所以ftl文件里面支持HTML标签,但又存在自己标签语法库。

二、配置Freemarker

找到一个application.yml(或者是application.properties)文件,添加Freemarker的配置
我在这里找到了一个带有注释.propertise的一个配置文件,可以看一下,基本上也是这样·配置的

#############################################WEB服务器配置####################################################
server.port=8088
server.servlet.context-path=/sb02

#############################################数据库配置####################################################
#2. 配置数据库mysql
#mysql老版本驱动写法
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/zf?useUnicode=true&characterEncoding=utf8
#spring.datasource.username=root
#spring.datasource.password=123
#spring.jpa.database=mysql
#mysql新版本驱动写法
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zf?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123

#显示后台处理的SQL语句
#spring.jpa.database=mysql
#spring.jpa.show-sql=true

#############################################freemarker配置####################################################
#指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
spring.freemarker.allow-request-override=false
#req访问request
spring.freemarker.request-context-attribute=req
#后缀名freemarker默认后缀为.ftl,当然你也可以改成自己习惯的.html
spring.freemarker.suffix=.ftl
#设置响应的内容类型
spring.freemarker.content-type=text/html;charset=utf-8
#是否允许mvc使用freemarker
spring.freemarker.enabled=true
#是否开启template caching
spring.freemarker.cache=false
#设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]
spring.freemarker.template-loader-path=classpath:/templates/
#设定Template的编码
spring.freemarker.charset=UTF-8
#数字格式化,无小数点
spring.freemarker.number_format=0.##

#############################################mybatis配置####################################################
#加载映射
mybatis.mapper-locations=classpath*:mapper/*.xml
#配置别名
mybatis.type-aliases-package=com.zking.s02.model
#显示日志
logging.level.com.zking.s02.mapper=debug

但现在一般不用.properties后缀的文件了,所以一般会改成yml文件
这里我自己把.properties文件改成了yml文件,是直接配置用的,但没有写注释

server:
  port: 9090
  servlet:
    context-path: /sb02
#配置数据库信息
spring:
  datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/t248?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
   username: root
   password: 123
   freemarker:
     allow-request-override: false
     request-context-attribute: req
     suffix: .ftl
     enabled: true
     cache: false
     template-loader-path: classpath:/templates/
     charset: UTF-8
     number_format: 0.##
#配置mybatis
mybatis:
#加载映射
  mapper-locations: classpath*:mapper/*.xml
#配置别名
  type-aliases-package: com.zking.springboot02.model


三、使用

直接在resouse里面的templates文件夹里面新建file,
在这里插入图片描述
这个新建的file直接将后缀名写为ftl文件即可

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Freemarker</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>

这就是简单的一个使用,写一个默认的Controller访问即可
在这里插入图片描述
在这里插入图片描述

访问成功

四、Freemarker FTL文件自带的语法

最重要的是要记住不能为null,为null会报错的
1、读值

${name}

放值放到页面上和jsp页面是一个样子的
放到Model 里面即可
记得要对null值进行判断

             <!--??或if_exists-->
              <#if name??>
               ${name}
              </#if>  
              <#if name?if_exists>
               ${name}
              </#if>  

2、if判断

 <#if gender==0>  
              女  
      <#elseif gender==1>  
              男  
      <#else>  
              保密     
      </#if>

3、循环

     <#list friends as item>  
           姓名:${item.name} , 年龄${item.age}  
           <br>  
      </#list> 

4、include

<#include "/header.ftl" >

这里就简单的讲解一下,主要是现在目前这个技术不太用了,而且大部分的使用和jsp没有太大的区别,使用也还算比较的简单。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值