主页功能
分页实现:按照页码搜索10条帖子以及对应用户信息返回给模板
@RequestMapping(path="/index", method=RequestMethod.GET)
publicStringgetIndexPage(Modelmodel, Pagepage) {
// 方法调用钱,SpringMVC会自动实例化Model和Page,并将Page注入Model.
// 所以,在thymeleaf中可以直接访问Page对象中的数据.
page.setRows(discussPostService.findDiscussPostRows(0));
page.setPath("/index");
List<DiscussPost>list=discussPostService.findDiscussPosts(0, page.getOffset(), page.getLimit());
List<Map<String, Object>>discussPosts=newArrayList<>();
if (list!=null) {
for (DiscussPostpost : list) {
Map<String, Object>map=newHashMap<>();
map.put("post", post);
Useruser=userService.findUserById(post.getUserId());
map.put("user", user);
longlikeCount=likeService.findEntityLikeCount(ENTITY_TYPE_POST, post.getId());
map.put("likeCount", likeCount);
discussPosts.add(map);
}
}
model.addAttribute("discussPosts", discussPosts);
return"/index";
}
page类
publicclassPage {
// current page
privateintcurrent=1;
//显示上限
privateintlimit=10;
//数据总数
privateintrows;
//查询路径(用于复用分页链接)
privateStringpath;
}