2022_03_06 - oneso123456789/2022 GitHub Wiki
<div id='page-wrapper'>
๊ฐ ๋๋๋ ํ๊ทธ๋ถํฐ ๋ง์ง๋ง๊น์ง๋ footer.jsp์ ๋ด์ฉ์ผ๋ก ์ฒ๋ฆฌ
739 ๋ผ์ธ ์ดํ์ ๋ชจ๋ ๋ด์ฉ<div id='page-wrapper'>
์ด ํ๊ทธ ํฌํจ์ footer.jsp๋ก ๋ง๋ค์ด์ค
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-6 -->
</div>
<!-- /.row -->
<%@include file="../includes/footer.jsp" %>
header.jsp์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ ํ ๋ค์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ํ์ธ
JSP ํ์ด์ง๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด JavaScript๋ก ๋ธ๋ผ์ฐ์ ๋ด์์ ์กฐ์์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์
์์ ๋ jQuery๋ฅผ ์ด์ฉํ ๊ฒ์ธ๋ฐ, ๋ฌธ์ ๋ ์์ ๋ฐฉ์๋๋ก ์ฒ๋ฆฌํ์ ๋ jQuery๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ
footer.jsp ๋ด์ ํฌํจ๋์ด ์๋ค๋ ์ ์.
์ฑ๋ฅ์ ์กฐ๊ธ ์ํด ๋ณด๋๋ผ๋ jQuery๋ฅผ header.jsp์ ์ ์ธํด ๋๋ฉด ์์ฑํ๋ JSP์์
์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์์ ํด์ผํจ
footer.jsp์ ์๋จ์ ์๋ jquery.min.js ํ์ผ์ <script>ํ๊ทธ๋ฅผ ์ ๊ฑฐํจ
jQuery๋ ์ธํฐ๋ท์ ํตํด์ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์๊ฒ jQuery์ ๋งํฌ๋ฅผ ๊ฒ์ํด์
header.jsp ๋ด์ ์ถ๊ฐํด์ผ ํจ
https://developers.google.com/speed/libraries/
์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด์ฉ
<div id="page-wrapper">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
SB Admin2๋ ๋ฐ์ํ์ผ๋ก ์ค๊ณ๋์ด ์์ด์ ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ์ ๋ง๊ฒ ๋ชจ๋ฐ์ผ ์ฉ์ผ๋ก
์๋์ผ๋ก ๋ณ๊ฒฝ๋์ง๋ง jQuery์ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ ์ํ์์๋ ๋ชจ๋ฐ์ผ ํฌ๊ธฐ์์
'์๋ก๊ณ ์นจ'์ ๋ฉ๋ด๊ฐ ํผ์ณ์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ
p235 ๊ทธ๋ฆผ ์ฐธ๊ณ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ includes ํด๋ ๋ด์ footer.jsp์ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐ
<script>
$(document).ready(function() {
$('#dataTables-example').DataTable({
responsive: true
});
// 2022-03-06 ๋ชจ๋ฐ์ผ ์๋ก๊ณ ์นจ์ ๋ฉ๋ด๊ฐ ํผ์ณ์ง๋ ๋ฌธ์ ํด๊ฒฐ ์ํด์ ๋ฃ์
$(".sidebar-nav")
.attr("class", "sidebar-nav navbar-collapse collapse")
.attr("aria-expanded",'false')
.attr("style","height:1px");
});
</script>
</body>
list.jsp ํ์ด์ง์ ์ผ๋ถ๋ฅผ include ํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ์์๋ ๋ง์ HTML์ ๋ด์ฉ๋ค์ด
์กด์ฌํ๋ฏ๋ก ์ต์ํ์ ํ๊ทธ๋ง ์ ์ฉ์ํด
list.jsp์๋ JSTL์ ์ถ๋ ฅ๊ณผ ํฌ๋งท์ ์ ์ฉํ ์ ์๋ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํจ
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ include file="../includes/header.jsp"%>
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Tables</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Board List Page</div>
<!-- /.panel-heading -->
<div class="panel-body">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>#๋ฒํธ</th>
<th>์ ๋ชฉ</th>
<th>์์ฑ์</th>
<th>์์ฑ์ผ</th>
<th>์์ ์ผ</th>
</tr>
</thead>
</table>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-6 -->
</div>
<!-- /.row -->
<%@include file="../includes/footer.jsp"%>
์์ ๋ list.jsp๋ฅผ ์ ์ฅํ๊ณ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์ํ๋ ํํ๋ก ์ถ๋ ฅ๋๋์ง ํ์ธํจ
/board/list
๋ฅผ ์คํํ์ ๋ ์ด๋ฏธ BoardController๋ Model์ ์ด์ฉํด์ ๊ฒ์๋ฌผ์ ๋ชฉ๋ก์ list๋ผ๋ ์ด๋ฆ์ผ๋ก
๋ด์์ ์ ๋ฌํ์ผ๋ฏ๋ก list.jsp์์๋ ์ด๋ฅผ ์ถ๋ ฅํจ
์ถ๋ ฅ์ JSTL์ ์ด์ฉํด์ ์ฒ๋ฆฌํจ
list.jsp ๋ด์
ํ๊ทธ์ ๊ฐ ์ ์๋์ ๊ฐ์ด ์์ฑํจ<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>#๋ฒํธ</th>
<th>์ ๋ชฉ</th>
<th>์์ฑ์</th>
<th>์์ฑ์ผ</th>
<th>์์ ์ผ</th>
</tr>
</thead>
<c:forEach items="${list}" var="board">
<tr>
<td><c:out value="${board.bno}" /></td>
<td><c:out value="${board.title}" /></td>
<td><c:out value="${board.writer}" /></td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.regdate}"/></td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.updateDate}"/></td>
</tr>
</c:forEach>
</table>
์ฝ๋ฉ์ค
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${board.updateDate}"/></td>
์ด ๋ถ๋ถ์์ ์ค๋ฅ ์ผ๊ธฐ๋จ ๋ฐ์๋ ์ด์ ๋ ๋ด๊ฐ BoardVOํด๋์ค์์ private Dateํ์ผ๋ก ์ ์ธํ
updateDate๋๋ฌธ์ ๋๋ ์ฒ์์ updateDate๋ฅผ updatedate๋ก ์๋ค ๋ชจ๋ ์๋ฌธ์๋ก ์ ์ธํจ
ํ์ง๋ง ์ฝ๋ฉ์ค์ "${board.updateDate}"
์ด๋ฐ์์ผ๋ก ํธ์ถํ๊ธฐ์ updatedate๋ฅผ ๋ฐ๊พธ๋์ง ํธ์ถ์
"${board.updatedate}"`๋ก ํธ์ถํด์คฌ์ด์ผ ํจ ๊ฐ๋
์ฑ์ ๋์ด๊ธฐ ์ํด์ BoardVOํด๋์ค ์ชฝ์
updateDate๋ก ๋ฐ๊ฟ ์ดํ ์ฌ๊ธฐ ํธ์ถ ๋ถ๋ถ์ ๋ฌธ์ ๊ฐ ์๊ธธ์ updateDate๋ก ํต์ผํ๋๋กํจ