본문 바로가기
수업(국비지원)/JSP

[JSP] MVC MODEL2 방식 - 로그인 시 화면 list 변화(kiclayout, layout)

by byeolsub 2023. 4. 20.

📌 kiclayout.jsp 내용 추가

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="path" value="${pageContext.request.contextPath }" />    
<%-- /jsp3/src/main/webapp/layout/kiclayout.jsp --%>    
<!DOCTYPE html>
<html lang="en">
<head>
<title><sitemesh:write property='title'/></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
	href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<script
	src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
<script
	src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script
	src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
<sitemesh:write property='head'/>
</head>
<style>
#center {
	text-align: center;
}

#half {
	width: 45%;
}
</style>
<body>

	<nav class="navbar navbar-expand-sm bg-light navbar-light">
		<!-- Brand -->
		<a class="navbar-brand" href="#">
		<img src="${path}/image/logo.png" width="80%"></a>

		<!-- Links -->
		<ul class="navbar-nav ">
		<c:if test="${empty sessionScope.login}"> 
			<li class="nav-item"><a class="nav-link" 
			   href="${path}/member/joinForm">회원가입</a></li>
			<li class="nav-item"><a class="nav-link" 
			   href="${path}/member/loginForm">로그인</a></li>
        </c:if>
        <c:if test="${!empty sessionScope.login}"> 
        	<li class="nav-item"><a class="nav-link" 
			   href="${path}/member/main">${sessionScope.login}님</a></li>
			<li class="nav-item"><a class="nav-link" 
			   href="${path}/member/loginForm">로그아웃</a></li>
        </c:if>
			<!-- Dropdown -->
			<li class="nav-item dropdown"><a
				class="nav-link dropdown-toggle" 
				href="#" id="navbardrop"
				data-toggle="dropdown"> 게시판 </a>
				<div class="dropdown-menu">
				 <a class="dropdown-item" 
				   href="${path}/board/list?boardid=1">공지사항</a>
				 <a	class="dropdown-item" 
				   href="${path}/board/list?boardid=2">자유게시판</a>
				 <a class="dropdown-item" 
				   href="${path}/board/list?boardid=3">QnA</a>
				</div></li>
			
		</ul>
	</nav>
	<hr>
	<sitemesh:write property='body'/>
	<hr>
	<div class="jumbotron text-center" style="margin-bottom: 0">
		<p>Footer</p>
	</div>
</body>
</html>

📌 layout.jsp 추가

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="<http://java.sun.com/jsp/jstl/core>" %>  
<%@taglib prefix="fmt" uri="<http://java.sun.com/jsp/jstl/fmt>" %> 
<%@ taglib prefix="fn" uri="<http://java.sun.com/jsp/jstl/functions>" %>    
<%-- /jsp2/src/main/webapp/layout/layout.jsp 
   -  요청
        : /* 에 속한 url 요청이다.
   1.  : loginForm.jsp 페이지의 title 태그의 내용을 적용    
   2.  : loginForm.jsp 페이지의 head 태그의 내용을 적용. title 태그 제외<style>....
   3. <sitemesh:write property='body' /> : loginForm.jsp 페이지의 body 태그의 내용을 적용.                                      
--%>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><sitemesh:write property='title' /></title>
<link rel="stylesheet" href="${path}/css/main.css">
<sitemesh:write property='head' />
</head>
<body>
<table><tr><td colspan="3" style="text-align: right">
<c:if test="${empty sessionScope.login}">
	   <a href="${path}/member/loginForm">로그인</a>  <%-- 절대경로로 작성해야한다. --%>
       <a href="${path}/member/joinForm">회원가입</a>
</c:if>
<c:if test="${!empty sessionScope.login}">
	${login} 님. <a href="${path}/member/logout">로그아웃</a>
</c:if>
</td></tr>
<tr><td width="15%" valign="top">
    <a href="${path}/member/main">회원관리</a><br>
    <a href="${path}/board/list?boardid=1">공지사항</a><br>
    <a href="${path}/board/list?boardid=2">자유게시판</a><br>
    <a href="${path}/board/list?boardid=3">QNA</a><br>
    </td>
			   <td colspan="2" style="text-align: left; vertical-align: top">
		       <sitemesh:write property='body' /></td></tr>
           <tr><td colspan="3">KIC 캠퍼스</td></tr>
	</table>
</body>
</html>