2022_03_06 - oneso123456789/2022 GitHub Wiki

Other

C11.1.2 includes ์ ์šฉ

footer.jsp ์ ์šฉ

<div id='page-wrapper'>๊ฐ€ ๋๋‚˜๋Š” ํƒœ๊ทธ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€๋Š” footer.jsp์˜ ๋‚ด์šฉ์œผ๋กœ ์ฒ˜๋ฆฌ
739 ๋ผ์ธ ์ดํ•˜์˜ ๋ชจ๋“ ๋‚ด์šฉ<div id='page-wrapper'> ์ด ํƒœ๊ทธ ํฌํ•จ์„ footer.jsp๋กœ ๋งŒ๋“ค์–ด์คŒ

list.jsp์˜ ์ผ๋ถ€

<!-- /.table-responsive -->
                        </div>
                        <!-- /.panel-body -->
                    </div>
                    <!-- /.panel -->
                </div>
                <!-- /.col-lg-6 -->
            </div>
            <!-- /.row -->
        
<%@include file="../includes/footer.jsp" %>

header.jsp์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ˆ˜์ •ํ•œ ๋’ค์—๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ

jQuery ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณ€๊ฒฝ

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/์™€ ๊ฐ™์€ ํŽ˜์ด์ง€๋ฅผ ์ด์šฉ

header.jsp์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„

  <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์— ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€

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>

11.2 ๋ชฉ๋กํ™”๋ฉด์ฒ˜๋ฆฌ

list.jsp ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋ฅผ include ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์Œ์—๋„ ๋งŽ์€ HTML์˜ ๋‚ด์šฉ๋“ค์ด
์กด์žฌํ•˜๋ฏ€๋กœ ์ตœ์†Œํ•œ์˜ ํƒœ๊ทธ๋งŒ ์ ์šฉ์‹œํ‚ด

list.jsp์—๋Š” JSTL์˜ ์ถœ๋ ฅ๊ณผ ํฌ๋งท์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•จ

views/board/list.jsp

<%@ 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๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•จ

11.2.1 Model์— ๋‹ด๊ธด ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ

/board/list๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์ด๋ฏธ BoardController๋Š” Model์„ ์ด์šฉํ•ด์„œ ๊ฒŒ์‹œ๋ฌผ์˜ ๋ชฉ๋ก์„ list๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ
๋‹ด์•„์„œ ์ „๋‹ฌํ–ˆ์œผ๋ฏ€๋กœ list.jsp์—์„œ๋Š” ์ด๋ฅผ ์ถœ๋ ฅํ•จ
์ถœ๋ ฅ์€ JSTL์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•จ

list.jsp ๋‚ด์—

ํƒœ๊ทธ์™€ ๊ฐ ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•จ

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>

Model์—์„œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ์ค‘ ์˜ค๋ฅ˜

์ฝ”๋”ฉ์ค‘ <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๋กœ ํ†ต์ผํ•˜๋„๋กํ•จ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ