Spring Boot制作个人博客-后端管理(博客管理)

一、博客分页查询

1、对blog.html网页作更改

在这里插入图片描述
在这里插入图片描述

  • 效果

在这里插入图片描述

2、新建BlogService接口

在这里插入图片描述

3、新建BlogRepository接口

在这里插入图片描述

4、新建BlogServiceImpl.java类

在这里插入图片描述

在这里插入图片描述

5、修改BlogController

在这里插入图片描述

6、修改blogs.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head th:replace="admin/_fragments::head(~{::title})">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=debice-width,initial-scale=1.0">
    <title>博客管理</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/semantic-ui/2.2.10/semantic.min.css">
    <link rel="stylesheet" href="../../static/css/css.css">
</head>
<body>
    <!--导航栏-->
    <nav th:replace="admin/_fragments::menu(1)" class="ui inverted attached segment m-padded-tb-mini m-shadow-small" ><!--inverted 反色  attached 圆角变直角-->
        <!--设置log-->
        <div class="ui container">
            <div class="ui inverted secondary stackable menu"><!--stackable(可堆叠效果)会根据页面大小改变显示比例-->
                <h2 class="ui teal header item">管理后台</h2>
                <a href="#" class="m-item item m-mobile-hide"><i class="home icon"></i> 博客</a>
                <a href="#" class="active m-item item m-mobile-hide"><i class="idea icon"></i>分类</a>
                <a href="#" class="m-item item m-mobile-hide"><i class="tags icon"></i>标签</a>

                <!--右侧头像-->
                <div class="right m-item m-mobile-hide menu">
                    <div class="ui dropdown item">
                        <div class="text">
                            <img class="ui avatar image" src="https://unsplash.it/100/100?image=1010">
                            Beauty
                        </div>
                        <!--下拉图标-->
                        <i class="dropdown icon"></i>
                        <div class="menu">
                            <a href="#" class="item">注销</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
            <!--移动端响应图标-->
            <a href="#" class="ui menu toggle black icon button m-right-top m-mobile-show">
                <i class="sidebar icon"></i>
            </a>
        </div>



    </nav>


    <!--二级导航-->
    <div class="ui attached pointing menu">
        <div class="ui container">
            <div class="right menu">
                <a href="#" class="item">发布</a>
                <a href="#" class="teal active item">列表</a>
            </div>
        </div>
    </div>
    <!--中间内容-->
    <div class="m-container-small m-padded-tb-large">
        <div class="ui m-container">
            <div method="post" class="ui secondary segment form">
                <input type="hidden" name="page">
                <div class="inline fields">
                    <!--输入框-->
                    <div class="field">
                        <input type="text" name="title" placeholder="标题">
                    </div>

                    <!--下拉列表框-->
                    <div class="field">
                        <div class="ui selection dropdown">
                            <input type="hidden" name="typeId">
                            <i class="dropdown icon"></i>
                            <div class="default text">分类</div>
                            <div class="menu">
                                <div th:each="type:${types}" class="item" data-value="1" th:data-value="${type.id}" th:text="${type.name}">错误日志</div>
                                <!--/*-->
                                <div class="item" data-value="2">开发者手册</div>
                                <!--*/-->
                            </div>
                        </div>
                    </div>

                    <!--推荐按钮-->
                    <div class="field">
                        <div class="ui checkbox">
                            <input type="checkbox" id="recommend" name="recommend">
                            <label for="recommend">推荐</label>
                        </div>
                    </div>

                    <!--提交按钮-->
                    <div class="field">
                        <botton type="button" id="search-btn" class="ui mini teal basic button"><i class="search icon"></i>搜索</botton>
                    </div>


                </div>
            </div>
           <div id table-containe>
               <table th:fragment="blogList" class="ui compact teal table"><!--celled添加网格 compact使表格紧凑-->
                   <thead>
                   <!--表头-->
                   <tr>
                       <th></th>
                       <th>标题</th>
                       <th>类型</th>
                       <th>推荐</th>
                       <th>更新事件</th>
                       <th>操作</th>
                   </tr>
                   </thead>

                   <!--内容-->
                   <tbody>
                   <tr th:each="blog,iterStat:${page.content}">
                       <td th:text="${iterStat.count}}">1</td>
                       <td th:text="${blog.title}">刻意练习清单</td>
                       <td th:text="${blog.type.name}">认知升级</td>
                       <td th:text="${blog.recommend} ? '是':'否'"></td>
                       <td th:test="${blog.updateTime}">2017-10-02 0945</td>
                       <td>
                           <a href="#" th:href="@{/admin/blogs/{id}/input(id=${blog.id})}" class="ui mini teal basic button">编辑</a>
                           <a href="#" th:href="@{/admin/blogs/{id}/input(id=${blog.id})}" class="ui mini red basic button">删除</a>
                       </td>
                   </tr>
                   </tbody>

                   <!--底部-->
                   <tfoot>
                   <tr>
                       <th colspan="6">
                           <div class="ui mini floated pagination menu"  th:if="${page.totalPages}>1">
                               <a class="icon item" onclick="page(this)" th:attr="data-page=${page.number}-1" >
                                   <i class="left chevron icon" th:unless="${page.first}"></i>
                               </a>

                               <a onclick="page(this)" th:attr="data-page=${page.number}-1" class="icon item" th:unless="${page.first}">上一页</a>
                               <a onclick="page(this)" th:attr="data-page=${page.number}+1" class="icon item" th:unless="${page.last}">下一页</a>

                               <a class="icon item" onclick="page(this)" th:attr="data-page=${page.number}+1" >
                                   <i class="right chevron icon" th:unless="${page.last}"></i>
                               </a>
                           </div>
                           <a href="#" th:href="@{/admin/blogs/input}" class="ui mini right floated teal basic button">新增</a>
                       </th>
                   </tr>
                   </tfoot>



               </table>
           </div>


        </div>
    </div>


    <!--底部-->
    <footer th:replace="admin/_fragments::footer" class="ui inverted vertical segment m-padded-tb-massive">
        <div class="ui center aligned container"><!--center aligned 居中-->
            <div class="ui inverted divided stackable grid"><!--grid会将div分为16份布局   inverted divided模块之间的线条显示-->
                <!--第一板块-->
                <div class="three wide column">
                    <div class
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值