<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          bootstrap+spring boot實現面包屑導航

          2019-10-7    seo達人

          面包屑導航介紹

          一般的內容型網站,例如CMS都會有這種面包屑導航??偨Y起來它有以下優勢:







          讓用戶了解目前所在的位置,以及當前頁面在整個網站中所在的位置;

          體現了網站的架構層級;提高了用戶體驗;

          減少返回到上一級頁面的操作;

           



          實現效果

          那我們應該如何實現?我看網上多數都是只提供靜態實現,



          這里我結合bootstrap 和 spring boot以及mysql來做一個完整的例子。







          表結構設計

          圖里面的菜單其實是分級維護上下級關系的。我這里用到了2級,表里有level字段標記。



          點擊第1級加載第2級分類,點擊第2級分類名稱則展示面包屑導航。



          CREATE TABLE tb_category (

            id bigint(20) NOT NULL AUTO_INCREMENT,

            category_name varchar(100) NOT NULL,

            parent_id bigint(20) DEFAULT NULL,

            level tinyint(1) DEFAULT NULL,

            PRIMARY KEY (id)

          ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

          insert into tb_category values(1,'Java文檔',0,1);

          insert into tb_category values(2,'Java多線程',1,2);

          insert into tb_category values(3,'Spring Boot',1,2);

          insert into tb_category values(4,'微服務實戰',1,2);

           

          insert into tb_category values(5,'Java視頻',0,1);

          insert into tb_category values(6,'Java基礎',5,2);

          insert into tb_category values(7,'Java基礎',1,2);

          commit;

           



          前端代碼

          <!DOCTYPE html>

          <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"

                xmlns:sec=";

           

          <head>

              <meta charset="utf-8">

              <meta name="viewport" content="width=device-width, initial-scale=1.0">

              <title>響應式布局</title>

              <link href="
          https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

          </head>

           

          <body>

          <input type="text" id="ctx" hidden="hidden" th:value="${#request.getContextPath()}">

          <div class="container-fluid">

              <!--頁頭-->

              <nav class="navbar navbar-inverse">

                  <div class="container-fluid">

                      <!-- Brand and toggle get grouped for better mobile display -->

                      <div class="navbar-header">

                          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"

                                  data-target="#bs-example-navbar-collapse-1" aria-expanded="false">

                              <span class="sr-only">Toggle navigation</span>

                              <span class="icon-bar"></span>

                              <span class="icon-bar"></span>

                              <span class="icon-bar"></span>

                          </button>

                          <a class="navbar-brand" th:href="@{'/breadCrumb'}">Java分享</a>

                      </div>

           

                      <!-- Collect the nav links, forms, and other content for toggling -->

                      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

                          <ul class="nav navbar-nav" id="navbar">

                          </ul>

                      </div>

                  </div>

              </nav>

              <!--面包屑-->

              <ol class="breadcrumb">

              </ol>

              <div class="list-group" id="submenu-list">

              </div>

          </div>

          <script src=";

          <script src="
          ;

          <script>

              var ctx=$("#ctx").val();

              $(function () {

                 // 獲取一級菜單

                  getMenu(null,1);

              });

           

              function getMenu(id, level){

                  var json = {parentId:id,level:level};

                  $.ajax({

                      url: ctx+"/myCategory/list",

                      type: "POST",

                      contentType: "application/json",

                      dataType: "json",

                      data: JSON.stringify(json),

                      success: function (result) {

                          var text='';

                          if (result.success) {

                              if(result.data != null){

                                  // 一級菜單

                                  if(level!=null){

           

                                      $.each(result.data, function (i, r) {

                                          text += '<li><a href="#" οnclick="getMenu('+r.id+')">'+r.categoryName+'</a></li>'

                                      });

                                      $("#navbar").empty();

                                      $("#navbar").append(text);

                                  }

                                  // 子菜單

                                  if(id!=null){

                                      $.each(result.data, function (i, r) {

                                          console.log(i);

                                          text += '<a href="#" class="list-group-item" οnclick="getBreadCrumb('+r.id+')">'+r.categoryName+'</a>'

                                      });

                                      $("#submenu-list").empty();

                                      $("#submenu-list").append(text);

                                  }

                              }

                          } else {

                              alert(result.message);

                          }

                      }

                  });

              }

           

              // 生成面包屑導航

              function getBreadCrumb(id) {

                  var param = {id:id};

                  $.ajax({

                      url: ctx+"/myCategory/getParentList",

                      type: "GET",

                      data: {"id":id},

                      success: function (result) {

                          var text='';

                          if(result.data!=null){

                              text = '<li><a href="#">首頁</a></li>';

                              $.each(result.data, function (i, r) {

                                  text += '<li><a href="#">'+r.categoryName+'</a></li>'

                              });

           

                              $(".breadcrumb").empty();

                              $(".breadcrumb").append(text);

                          }

                      }

                  })

              }

          </script>

          </body>

           

          </html>

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計  ipad界面設計 、 包裝設計  圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合