Thymeleaf集成
其他解析链接: thymeleaf详细讲解
在html标签内添加 xmlns:th=“http://www.thymeleaf.org” 把普通的html文件变成支持thymeleaf模板语言
th:text="${ }"
th:text="${ }" 获取服务器传过来的值
th:object="${ }" 把对象包起来,内部直接使用属性名称
th:each="${ }" 遍历
th:if="${ }"
th:unless="${ }" 判断成立或不成立
<!DOCTYPE html>
<!--
添加xmlns:th="http://www.thymeleaf.org"
把普通的html文件变成支持thymeleaf模板语言
-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>thymeleaf页面</title>
<link rel="stylesheet" type="text/css" href="../static/css/style.css" th:href="@{/css/style.css}">
<script type="text/javascript" src="../static/js/my.js" th:src="@{/js/my.js}"></script>
<style>
table{
width: 300px;
text-align: center;
}
</style>
</head>
<body>
<h3>这是我的第一个thymeleaf页面</h3>
<!-- 获取服务器传递回来的name键值 -->
<p th:text="'姓名:'+${name}">初始姓名</p>
<p th:utext="'姓名:'+${name}">初始姓名</p>
<p th:text="'年龄:'+${age}">初始年龄</p>
<h3>${}和*{}的效果一样</h3>
<div>
<p th:text="'编号:'+${user.id}"></p>
<p th:text="'姓名:'+${user.name}"></p>
<p th:text="'年龄:'+${user.age}"></p>
</div>
<form>
<input type="text" name="id" th:value="${user.id}"><br/>
<input type="text" name="name" th:value="${user.name}"><br/>
<input type="text" name="age" th:value="${user.age}"><br/>
</form>
<div>
<p th:text="'编号:'+*{user.id}"></p>
<p th:text="'姓名:'+*{user.name}"></p>
<p th:text="'年龄:'+*{user.age}"></p>
</div>
<form>
<input type="text" name="id" th:value="*{user.id}"><br/>
<input type="text" name="name" th:value="*{user.name}"><br/>
<input type="text" name="age" th:value="*{user.age}"><br/>
</form>
<h3>th:object用对象包起来,内部直接使用属性名称</h3>
<div th:object="${user}">
<p th:text="'编号:'+*{id}"></p>
<p th:text="'姓名:'+*{name}"></p>
<p th:text="'年龄:'+*{age}"></p>
</div>
<form th:object="${user}">
<input type="text" name="id" th:value="*{id}"><br/>
<input type="text" name="name" th:value="*{name}"><br/>
<input type="text" name="age" th:value="*{age}"><br/>
</form>
<table border="1">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<tr th:each="user:${list}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</table>
<p th:if="${sex}==1">
<input type="radio" value="1" checked>男
<input type="radio" value="0">女
</p>
<p th:unless="${sex}==1">
<input type="radio" value="1" >男
<input type="radio" value="0" checked>女
</p>
<a href="http://www.baidu.com">百度</a>
</body>
</html>
自定义starter
其他解析链接: c语言中文网-自定义starter 解析
将一些繁琐的或者说是一些通过的功能封装成一个自定义的starter进行使用,提高开发效率
自定义starter的两种方法
一是创建spring.factories文件
二是创建一个注解类
创建spring.factories文件方法
分为以下 5 步:
- 定义 propertie 类
- 定义 Service 类
- 定义配置类
- 创建 spring.factories文件
- 构建starter
创建注解类方法
分为以下 5 步:
- 定义 propertie 类
- 定义 Service 类
- 定义配置类
- 创建注解类文件
- 构建starter
其中配置类中不需要加@Configuration注解,交由注解类导入使用
注解类
**
* 自定义注解EnableHelloAutoConfiguration,用来装配HelloAutoConfiguration类
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
//前三个为注解类的元注解
@Import(HelloAutoConfiguration.class)
public @interface EnableHelloAutoConfiguration {
}
注解类创建完成后在测试模块的启动类中添加该注解即可