수업(국비지원)/JSP
[JSP] MVC MODEL2 방식 - 로그인 시 화면 list 변화(kiclayout, layout)
byeolsub
2023. 4. 20. 23:44
📌 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>