springboot——新闻列表主页显示和新闻详情页

本文档详细介绍了如何使用Spring Boot来实现新闻列表的展示、全局搜索功能以及新闻详情页的查看。内容包括:设计新闻分类、标签和推荐新闻的展示,实现对标题和内容的搜索,点击新闻跳转到支持Markdown格式的详情页,以及在后台接口和Web控制器中处理相应的数据库操作和页面请求响应。
摘要由CSDN通过智能技术生成

本次实现了新闻的主页显示、新闻搜索和新闻详情页。

  • 实现新闻列表的展示
  • 左侧展示分类、标签和推荐新闻
  • 实现全局搜索,可以搜索标题或文章内容
  • 点击新闻可以进入新闻详情页,并支持Md
  1. NewsRepositoryTagRespositoryTypeRespository接口中添加需要进行的数据库操作方法

    //查询推荐新闻
    @Query("select n from News n where n.recommend = true ")
    List<News> findTop(Pageable pageable);
    
    //进行全局搜索的数据库操作
    @Query("select n from News n where n.title like ?1 or n.content like ?1")
    Page<News> findByQuery(String query, Pageable pageable);
    
    @Query("select t from Tag t")
    List<Tag> findTop(Pageable pageable);
    
    @Query("select t from Type t")
    List<Type> findTop(Pageable pageable);
    
  2. 设计util.MarkdownUtils类,对md格式新闻进行支持

    public class MarkdownUtils {
         
    
    
        /**
         * markdown格式转换成HTML格式
         * @param markdown
         * @return
         */
        public static String markdownToHtml(String markdown) {
         
            Parser parser = Parser.builder().build();
            Node document = parser.parse(markdown);
            HtmlRenderer renderer = HtmlRenderer.builder().build();
            return renderer.render(document);
        }
    
        /**
         * 增加扩展[标题锚点,表格生成]
         * Markdown转换成HTML
         * @param markdown
         * @return
         */
        public static String markdownToHtmlExtensions(String markdown) {
         
            //h标题生成id
            Set<Extension> headingAnchorExtensions = Collections.singleton(HeadingAnchorExtension.create());
            //转换table的HTML
            List<Extension> tableExtension = Arrays.asList
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值