spring boot的thymeleaf和freemarker模板

本文介绍了Spring Boot中常用的两种模板引擎——Thymeleaf和Freemarker。Thymeleaf主要用于HTML页面开发,通过添加依赖并在页面使用th:标签进行数据操作。而Freemarker的文件后缀为ftl,其语法与HTML有所不同,如使用#进行标签标识,并通过${...}获取值。为了便于开发,可以在IDEA中设置添加Freemarker的文件模板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

thymeleaf和freemarker两大基本模板 工作的话都用的比较多 我就介绍一些它们在页面的基本语法

thymeleaf

它是用于HTML的开发的 简单说就是HTML页面 

想要有这个HTML页面默认是要导pom但在springboot项目创建时勾选这个模板就好了

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

下面就是它的一些基本标签 方便在页面取值或拿值 以及遍历等

主要的标签是th:

用此标签还需导入一个文件 里面有标签大量一些属性

<html xmlns:th="http://www.thymeleaf.org">
<body>
<h3>用户信息管理</h3>
<!--可以获取你需要的值在页面展示-->
<h3 th:text="${title}"></h3>
<table border="1px">
    <tr>
        <td>用户id</td>
        <td>用户名字</td>
        <td>用户地址</td>
        <td>操作</td>
    </tr>
    <!--增强for循环 左边是变量名 右边是集合 -->
    <tr th:each="user:${userlist}">
        <td th:text="${user.sid}"></td>
        <td th:text="${user.sname}"></td>
        <td th:text="${user.address}"></td>
        <td><a href="">删除</a></td>
    </tr>
</table>

<select name="sname">
    <!--把遍历出来的数据在下拉框展示 展示名字 值是id 为了有些值传后台去-->
    <option th:each="user:${userlist}" th:text="${user.sname}" th:value="${user.sid}"></option>
</select>
</body>

freemarker

同样创建项目就要导pom 前面勾选了就不用了
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
   </dependency>
它的后缀是ftl结尾的 用法跟HTML有一定的区别

取整跟jsp一样${...} 用法 标签前面都要用#来标识<#if> <#elesif><#else><#if/> 

一些取整方面用法都打了备注可方便了解 都是从后台拿session里存的

<body>
ftl用法
<h3>页面取值</h3>
<#--如果后台这个值为null会报错 为“”就不会 如果后台传值就是username里的值 没传就是 !'aa'里的值-->
${username!"dd"}
<h3>非空判断是否存在</h3>
<#--判断后台有没有这个username的属性 有就存在 没有或者为null就没有-->
<#if username?exists>
    存在
</#if>
<h3>条件表达式判断</h3>
<#--拿到后端传的值 进行判断-->
<#if sex="男">
男
<#elseif sex="女">
女
<#else>
保密
</#if>
<h3>遍历</h3>
<table border="1px">
    <tr>
        <td>用户id</td>
        <td>用户名字</td>
        <td>用户地址</td>
        <td>操作</td>
    </tr>
    <!--增强for循环 跟HTML相反左边是集合 右边是变量 -->
   <#list works as work>
    <tr>
        <td >${work.sid}</td>
        <td >${work.sname}</td>
        <td >${work.address}</td>
        <td><a href="">删除</a></td>
    </tr>
   </#list>
</table>

<#--代表包含某个页面 做底部或者头部 或引用一些常用的标签可用这个来把指定页面放进来-->
<#--<#include 'list.ftl'/>-->

<#--global assign相当于c标签的set 使用的话直接拿变量名就可拿到值-->
<#global aa>
    ${springMacroRequestContext.contextPath}
</#global>
<#assign bb>
    ${springMacroRequestContext.contextPath}
</#assign>
${aa},${bb}
</body>

另外idea默认没有freemarker创建的页面 可自行添加这个文件

在设置里找到file and code Templates 然后点击+ 添加一个模板 里面内容跟HTML刚创建的界面一样 这样右键就能new一个ftl的模板

351

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值