GNB란 웹디자인 용어로써 어느 페이지를 들어가든지 공통적으로 사용할 수 있는 메뉴를 의미한다.
홈페이지 상단에 있는 로그인,회원가입,출섹체크등의 버튼이 있는 영역이 이에 해당한다.
어느 페이지를 들어가든 해당 영역은 존재한다.
따라서 이번 포스팅에선 GNB영역을 구현하고자 한다.
더불어 관리자 계정으로 로그인 하였을 때 관리자 페이지로 이동할 수 있도록 GNB영역에 관리자 페이지 이동 버튼을 제작할 것이다.
book_member
테이블을 초기에 생성할 때 adminCk
컬럼을 추가했었다.adminCk
가 0인 경우는 일반계정, 1인 경우는 관리자 계정으로 구분하기 위해서이다. 홈페이지를 통해 회원가입을 할때 기본적으로 adminCk
에 0이 입력되도록 하였다.adminCk
데이터를 1로 변경하면 된다.adminCk
데이터를 변환함으로써 관리자 계정을 만들었다.UPDATE book_member SET adminCk = 1 WHERE memberId = 'aaaaa123';
<c:if>
태그를 통해서 구현할 것이다.<div class="top_gnb_area">
<!-- <h1>gnb area</h1> --> <!-- 삭제 -->
<ul class="list">
<li>
<a href="/member/login">로그인</a>
</li>
<li>
<a href="/member/join">회원가입</a>
</li>
<li>
고객센터
</li>
</ul>
</div>
<c:if>
태그로 감싸준다.<div class="top_gnb_area">
<!-- <h1>gnb area</h1> --> <!-- 삭제 -->
<ul class="list">
<c:if test="${member == null }">
<li>
<a href="/member/login">로그인</a>
</li>
<li>
<a href="/member/join">회원가입</a>
</li>
</c:if>
<li>
고객센터
</li>
</ul>
</div>
a {
text-decoration: none;
}
.top_gnb_area {
position:relative;
}
.top_gnb_area .list {
position: absolute;
top: 0px;
right: 0;
}
.top_gnb_area .list li {
list-style: none;
float: left;
padding: 13px 15px 0 10px;
font_weight: 900;
cursor: pointer;
}
<c:if>
태그로 감싸준다.<div class="top_gnb_area">
<!-- <h1>gnb area</h1> --> <!-- 삭제 -->
<ul class="list">
<c:if test="${member == null }">
<li>
<a href="/member/login">로그인</a>
</li>
<li>
<a href="/member/join">회원가입</a>
</li>
</c:if>
<c:if test="${member != null }">
<li>
로그아웃
</li>
<li>
마이룸
</li>
<li>
장바구니
</li>
</c:if>
</ul>
</div>
<c:if>
태그 내부에 아래의 코드를 작성한다.
adminCk
를 체크하는 <c:if>
태그로 감싸준다./admin/main
이다.<div class="top_gnb_area">
<!-- <h1>gnb area</h1> --> <!-- 삭제 -->
<ul class="list">
<c:if test="${member == null }">
<li>
<a href="/member/login">로그인</a>
</li>
<li>
<a href="/member/join">회원가입</a>
</li>
</c:if>
<c:if test="${member.adminCk == 1 }"> <!-- 관리자 계정으로 로그인 -->
<li>
<a href="/admin/main">관리자 페이지</a>
</li>
</c:if>
<c:if test="${member != null }">
<li>
로그아웃
</li>
<li>
마이룸
</li>
<li>
장바구니
</li>
</c:if>
</ul>
</div>
AdminController.java
파일을 새로 만든다.
src/main/java/com/store/controller/
package com.store.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/admin")
public class AdminController {
private static final Logger logger = LoggerFactory.getLogger(AdminController.class);
}
/* 관리자 메인 페이지 이동 */
@RequestMapping(value = "main", method = RequestMethod.GET)
public void adminMainGET() throws Exception {
logger.info("관리자 페이지 이동");
}
<body>
태그 내에는 관리자 페이지라는 것을 표시할 문구만 추가하였다.<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>Document</title>
</head>
<body>
<h1>관리자 메인 페이지</h1>
</body>
</html>