%@page import="java.util.ArrayList"%>
<%@page import="board.dao.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
int pg = Integer.parseInt(request.getParameter("pg"));
int article = 5; // 한 페이지 당 글 목록 갯수
int currentPage = pg; // 현재 페이지
int startNum = (currentPage-1) * article + 1; // 시작 글번호
int lastNum = startNum + article - 1; // 마지막 글번호
BoardDAO dao = new BoardDAO();
ArrayList<%@page import="board.dto.BoardDTO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="board.dao.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
int pg = Integer.parseInt(request.getParameter("pg"));
int article = 5; // 한 페이지 당 글 목록 갯수
int currentPage = pg; // 현재 페이지
int startNum = (currentPage-1) * article + 1; // 시작 글번호
int lastNum = startNum + article - 1; // 마지막 글번호
BoardDAO dao = new BoardDAO();
ArrayList<BoardDTO> list = dao.BoardList(startNum,lastNum);
// 페이징
int totalArticle = dao.getTotalArticle(); // 전체 글 수
int totalPage = (totalArticle-1)/article + 1; // 총 페이지 수
int block = 3; // 페이지 블록 -> 한 번에 페이지 몇 개를 표시할 건지
int startPage = (currentPage-1)/block * block + 1;
int endPage = startPage + block - 1;
if(endPage > totalPage){ // 이전, 다음 버튼에서 다음 버튼을 눌렀을 때 넘어가서
endPage = totalPage; // page over 처리
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>boardList.jsp</title>
<style type="text/css">
table, tr, td {
border: 1px solid black;
border-collapse: collapse;
}
td {
text-align: center;
}
#paging_block {
width: 1000px;
text-align: center;
}
#paging{
color: black;
text-decoration: none;
}
#currentPaging {
color: red;
text-decoration: underline;
}
</style>
</head>
<body>
<h1>글목록</h1>
<br>
<table>
<tr>
<th width="100px"> 글번호 </th>
<th width="500px"> 제 목 </th>
<th width="150px"> 작성자 </th>
<th width="150px"> 작성일 </th>
<th width="100px"> 조회수 </th>
</tr>
<%for(BoardDTO dto : list) {%>
<tr>
<td><%=dto.getSeq() %></td>
<td><a href="#" onclick="isLogin(<%=dto.getSeq()%>)"><%=dto.getSubject() %></a></td>
<td><%=dto.getName() %></td>
<td><%=dto.getLogtime() %></td>
<td><%=dto.getHit() %></td>
</tr>
<%} %>
</table>
<br/><br/>
<!-- 페이징 -->
<div id="paging-block">
<%if(startPage > block) {%>
[<a href="boardList.jsp?pg=<%=startPage-1%>" id="paging">이전</a>]
<%} %>
<%for(int i=startPage;i<=endPage;i++) {%>
<%if(i==pg) {%>
[<a href="boardList.jsp?pg=<%=i%>" id="currentPaging"><%=i %></a>]
<%} else { %>
[<a href="boardList.jsp?pg=<%=i%>" id="paging"><%=i %></a>]
<%} %>
<%} %>
<%if(endPage < totalPage) {%> <%-- endPage가 총 페이지보다 작을 때 --%>
[<a href="boardList.jsp?pg=<%=endPage+1%>" id="paging">다음</a>]
<%} %>
</div>
<br><br>
<input type="button" value="main" onclick="location.href='../index.jsp'"/>
<script type="text/javascript">
function isLogin(seq) {
<% if(session.getAttribute("memberId") == null) { %>
alert("로그인하세요...");
location.href="../member/loginForm.jsp";
<%} else {%>
location.href="boardView.jsp?seq=" +seq + "&pg=" + <%=pg%>;
<%} %>
}
</script>
</body>
</html>