Thymeleaf Layout - bootstrap 4.5.2버전 적용 > 스프링 부트

본문 바로가기

[개발] Thymeleaf Layout - bootstrap 4.5.2버전 적용

필기자
2022-10-19 12:10 6,352 0

본문

templates/fragments/footer.html 파일 수정



<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
   <div class="footer" th:fragment="footer">
      <footer class="page-footer font-small cyan darken-3">
         <div class="footer-copyright text-center py-3">
            2020 Shopping Mall Example WebSite
         </div>
      </footer>
   </div>
</html>

 

templates/fragments/header.html 파일 수정



<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
   <div th:fragment="header">
      <nav class="navbar navbar-expand-sm bg-primary navbar-dark">
         <button class="navbar-toggler" type="button" data-toggle="collapse"
               data-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03"
               aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
         </button>
         <a class="navbar-brand" href="/">Shop</a>

         <div class="collapse navbar-collapse" id="navbarTogglerDemo03">
            <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
               <li class="nav-item">
                  <a class="nav-link" href="/admin/item/new">상품 등록</a>
               </li>
               <li class="nav-item">
                  <a class="nav-link" href="/admin/items">상품 관리</a>
               </li>
               <li class="nav-item">
                  <a class="nav-link" href="/cart">장바구니</a>
               </li>
               <li class="nav-item">
                  <a class="nav-link" href="/orders">구매이력</a>
               </li>
               <li class="nav-item">
                  <a class="nav-link" href="/members/login">로그인</a>
               </li>
               <li class="nav-item">
                  <a class="nav-link" href="/members/logout">로그아웃</a>
               </li>
            </ul>
            <form class="form-inline my-2 my-lg-0" th:action="@{/}" method="get">
               <input name="searchQuery" class="form-control mr-sm-2" type="search" placeholder="Search"
                     aria-label="Search">
               <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
         </div>
      </nav>
   </div>
</html>

 

templates/layouts/layout1.html 파일 수정



<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
     xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
   <head>
      <meta charset="UTF-8">
      <title>Title</title>

      <!-- CSS only -->
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
      <link th:href="@{/css/layout1.css}" rel="stylesheet">

      <!-- JS, Popper.js, and jQuery -->
      <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

      <th:block layout:fragment="script"></th:block>
      <th:block layout:fragment="css"></th:block>
   </head>
   <body>
      <div th:replace="fragments/header::header"></div>

      <div layout:fragment="content" class="content">
      </div>

      <div th:replace="fragments/footer::footer"></div>
   </body>
</html>

 

static/css/layout1.css 파일생성



html {
    position: relative;
    min-height: 100%;
    margin: 0;
}
body {
    min-height: 100%;
}
.footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    padding: 15px 0;
    text-align: center;
}
.content{
    margin-bottom:100px;
    margin-top: 50px;
    margin-left: 200px;
    margin-right: 200px;
}

 

결과 : http://localhost:8080/thymeleaf/ex07

20221101134614_58c21c62e2e6f71b42558e4bc6ecc1e2_rp0q.png

20221101134713_58c21c62e2e6f71b42558e4bc6ecc1e2_6ctq.png

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색