主页信息展示
1.信息展示
@GetMapping("/")
public String index(@PageableDefault(size = 2,sort = {"updateTime"},direction = Sort.Direction.DESC)
Pageable pageable, Model model){//按照时间降序来排
model.addAttribute("page",newService.listNew(pageable));
model.addAttribute("types",typeService.listTypeTop(3));
model.addAttribute("tags",tagService.listTagTop(3));
model.addAttribute("recommendNews",newService.listRecommendNewTop(3));
return "index";
}
2.标签
@Override
public List<Tag> listTagTop(Integer size) {
Sort sort = Sort.by(Sort.Direction.DESC,"newsList.size");
Pageable pageable = PageRequest.of(0,size,sort);
return tagRepository.findTop(pageable);
}
3.分类
@Override
public List<Type> listTypeTop(Integer size) {
Sort sort = Sort.by(Sort.Direction.DESC,"news.size");
Pageable pageable = PageRequest.of(0,size,sort);
return typeRepository.findTop(pageable);
}
4.最新推荐
@Override
public List<News> listRecommendNewTop(Integer size) {
Sort sort = Sort.by(Sort.Direction.DESC,"updateTime");
Pageable pageable = PageRequest.of(0,size,sort);
return newRepository.findTop(pageable);
}
5.搜索
@PostMapping("/search")
public String search(@PageableDefault(size = 3,sort = {"updateTime"},direction = Sort.Direction.DESC)
Pageable pageable, @RequestParam String query,Model model){
model.addAttribute("page",newService.listNew("%"+query+"%",pageable));
model.addAttribute("query",query);
return "search";
}
详情页
@RequestMapping("/news/{id}")
public String news(@PathVariable Long id,Model model){
model.addAttribute("news",newService.getAndConvert(id));
return "new";
}
结果展示
主页展示:
搜索: