spring boot的thymeleaf和freemarker模板
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的模板