게시판 만들기/JSP ➜ Spring
[Spring] 메인 페이지/내비게이션 <jsp:include>
code-mo
2023. 2. 7. 07:30
728x90
1. JSP 메인 페이지
메인 페이지의 코드가 길어 공통되는 부분을 JSP 액션 태그 <jsp:include>를 이용하여 공통부분
내비게이션을 따로 분리시켰다.
로그인, 회원가입 페이지도 <jsp:include page="../common/navigation.jsp"></jsp:include>를 적용
25줄가량의의 중복 코드가 1줄로 줄어들었다
main.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<body>
<jsp:include page="../common/navigation.jsp"></jsp:include>
<div class="container">
<div class="jumbotron">
<div class="container">
<h1>웹 사이트 소개</h1>
</br>
<p>이 웹 사이트는 부트스트랩으로 만든 JSP웹 사이트입니다. 최소한의 간단한 로직만을 이용해서 개발했습니다.</p>
<p>
<a class="btn btn-primary btn-pull"
href="https://github.com/sunyoring" role="button">개발자 알아보기</a>
</p>
</div>
</div>
</div>
<div class="container">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>>
<li data-target="#myCarousel" data-slide-to="1"></li>>
<li data-target="#myCarousel" data-slide-to="2"></li>>
</ol>
<div class="carousel-inner">
<div class="item active">
<img src="${pageContext.request.contextPath}/resources/images/cityView.jpg">
</div>
<div class="item">
<img src="${pageContext.request.contextPath}/resources/images/cityView2.jpg">
</div>
<div class="item">
<img src="${pageContext.request.contextPath}/resources/images/cityView3.jpg">
</div>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
</div>
</body>
|
cs |
navigation.jsp
로그인한 사용자의 정보를 서버의 session에 사용자 아이디 값을 조회하여 있으면은 로그아웃 버튼을 보여주고
session에 사용자 아이디가 없다면 로그인, 회원가입 버튼을 보여준다
JSP 내장 객체를 대신하여 JSTL 태그를 사용하여 코드가 더 간결하고 가독성이 좋아졌다.
<c:if test="${sessionScope.userID == null}">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<c:if test="${sessionScope.userID == null}">
<ul class="nav navebar-nav navbar-right">
<li class="dropdown"><a href="#" class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expended="false">접속하기<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="login">로그인</a></li>
<li><a href="join">회원가입</a></li>
</ul></li>
</ul>
</c:if>
<c:if test="${sessionScope.userID != null}">
<ul class="nav navebar-nav navbar-right">
<li class="dropdown"><a href="#" class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expended="false">회원관리<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="logoutAct">로그아웃 </a></li>
</ul></li>
</ul>
</c:if>
|
cs |