继续上文
01.数据的部分已经完成了,此时需要考虑到前端与用户交互的部分,这里就需要网页html,服务器响应servlet。
网页的部分,html文件放在resource目录下的template文件中,servlet变成了controller包,其中的controller类功能是与servlet一致的。
controller类命名方式是xxxxcontroller
结构如下:
@Controller 这个表示 类实例化对象后交给spring容器管理
@RequestMapping(“/某个共有的路径/”)
class xxxxcontroller{
@Autowired
private xxxxService xxxxxService; 这里是service接口,上面已经测试过了,功能可以使用
@RequestMapping(“路径最后的部分”)
public String 方法名 (Model model) {
// model类似于request对象,可以用来保存后端的数据,再传递到前端去,前端html那里使用thymeleaf技术,来接受后端的数据
List<Activity> list = activityService.findObjects();
model.addAttribute("activity", list)
return "html的页面名“;
//(此处因为在application.properties上面thymeleaf中有写到前后缀的问题,所以只需要写出html文件的名字就可以了)
}
}
03.写html文件,需要使用到官网https://www.thymeleaf.org/,来查阅相关的thymeleaf的html功能代码
The Activity Page
<table>
<thead>
<tr>
<th>表的列名1</th>
<th>表的列名2</th>
<th>表的列名3</th>
<th>表的列名4</th>
<th>表的列名5</th>
<th>表的列名6</th>
<th>表的列名7</th>
</tr>
</thead>
<tbody>
<tr th:each="变量名:${model对象的key(这里存储的是一个list),在controller类上存储的}">
<td th:text="${变量名.属性1(等于表的列名1)}"></td>
<td th:text="${变量名.属性2(等于表的列名2)}"></td>
<td th:text="${变量名.属性3(等于表的列名3)}"></td>
<td th:text="${变量名.属性4(等于表的列名4)}"></td>
<td th:text="${变量名.属性5(等于表的列名5)}"></td>
<td th:text="${变量名.属性6(等于表的列名6)}"></td>
</tr>
</tbody>
</table>