思路:用户再主页面点击添加事件时,弹出一个添加页面--底层调用方法转入页面,让用户填入相应的信息并提交--底层调用controller层添加方法并用实体类对象接收参数,controller层调用注入service层中的service实体类所实现service接口的添加方法,service层调用并实现dao层dao接口所编写的添加方法以及sql语句,dao层执行sql语句访问数据库获得结果并返回,返回service层--controller层,存入model域对象,最后再请求转发至查询方法,将得到的数据展示在主页面.
要点: 执行此业务需要访问两个页面,输入信息页面和展示主页面,但底层要执行三个方法,即访问输入页面的方法,执行添加数据的方法,查询数据的方法.以及两处的格式化
注意:
实体类的时间属性需要进行格式化,不然页面会报400错误即参数错误:
@DeteTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss)
private LocalDateTime startTime;
@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
private LocalDateTime endTime;
格式化的目的是将参数按照规定的格式存储进实体类属性中
注意:
在前端主页面中要对时间数据进行格式化,格式化的标签语法可以从thymeleaf官网中的GitHub找到
<tr th:each="a : ${list}">
<td th:text="${a.id}">
<td th:text="${a.title}>
<td th:text="${a.category}>
<td th:text="${#temporals.format(a.startTime,'yyyy/MM/dd HH/mm/ss')}">
<td th:text="${#temporals.format(a.endTime,'yyyy/MM/dd HH/mm/ss')}">
<td th:text="${a.state==1?'进行中':'已结束'}">//可以加入三段式判断
</tr>
此处格式化是将返回的数据按照规定的格式展现在页面上.