仿牛客社区项目笔记-首页模块
1. 首页模块
分为 分页 和 首页显示帖子。分页使用Page封装。首页映射为 “/index” 。
1.1 分页
- 使用Page封装分页。其中包含当前页 current,每页显示条数 limit,数据总条数 rows,获取当前页的起始行方法 getOffset(), 获取显示条数方法 getLimit() 。
- 方法调用前, SpringMVC会自动实例化Model和Page, 并将Page注入Model. 所以, 在thymeleaf中可以直接访问Page对象中的数据.
- 当浏览器传入current 变量时,也会自动传入Page中的 current 变量,最初current 值默认为1,即第一页。
1.2 首页显示帖子
- 运行CommunityApplication,使内置Tomcat服务器开启。使用浏览器访问http://localhost:8080/community/index,映射到 HomeController 层。
- HomeController 层首先从查询数据总条数,将该值赋给Page中的 rows 。调用 discussPostService.findDiscussPosts 方法按照页码返回10条帖子。并通过循环将每条帖子和其User添加到Map中。然后将10个Map添加到List中,再将List添加到Model中。浏览器可直接访问Model中数据。
- 返回 /index 。