SpringBoot后台开发新闻主页管理+新闻页查看

本文介绍了如何使用SpringBoot开发新闻主页管理功能,包括新闻列表、标签和分类排行榜、推荐新闻以及全局搜索。在后台,通过Repository、Service和Controller层的交互,实现了各部分数据的获取与排序。同时,详细讲解了新闻内容的Markdown解析及搜索功能的实现。
摘要由CSDN通过智能技术生成

主页管理

新闻列表

NewService.java接口中添加一个listView函数:

//主页显示列表
Page<News> listNew(Pageable pageable);

NewServiceImpl.java中实现该函数:

@Override
public Page<News> listNew(Pageable pageable) {
   
    return newRepository.findAll(pageable);
}

IndexController.java中对应页面添加这个list:

@GetMapping("/")
public String index(@PageableDefault(size = 3,sort = {
   "updateTime"},direction = Sort.Direction.DESC)
                   Pageable pageable, Model model){
   
   //添加新闻
   model.addAttribute("page",newService.listNew(pageable));
   return "index";
}

标签排行榜

TagRepository.java中添加findTop函数

//TagRepository.java
public interface TagRepository extends JpaRepository<Tag,Long> {
   
    Tag findByName(String name);

    @Query("select t from Tag t")
    List<Tag> findTop(Pageable pageable);

}

TagService.java中添加返回标签排行最多的函数:

//标签排行榜
List<Tag> listTagTop(Integer size);

然后在TagServiceImpl.java中使用TagRepository中的函数实现该函数:

	@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);
    }

IndexController.java中加入获取到的List:

	@GetMapping("/")
    public String index(@PageableDefault(size = 3,sort = {
   "updateTime"},direction = Sort.Direction.DESC)
                        Pageable pageable, Model model){
   
        //主页新闻
        model.addAttribute("page",newService.listNew(pageable));
        //标签排行榜
        model.addAttribute("tags",tagService
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值