220714 오늘의 훈련

(。◠ ◠。)·2022년 7월 14일

게시판 작업이 거의 마무리되어 간다.
페이징이 어렵다고 생각했는데 하고보니 괜찮았던..?(머쓱)

테이블에서 총 컬럼의 수를 구해서 최대 게시물 수를 리턴해서 보내줬다.

public int maxCnt() {
		conn = db.getConnection();
		String sql = "select count(*)c from newboard";
		int pageNum = 0;
		try {
			PreparedStatement pstmt = conn.prepareStatement(sql);
			ResultSet rs = pstmt.executeQuery();
			rs.next();
			int result = rs.getInt(1);
			if(result%10 > 0) {
				System.out.println("0보다 크네요");
			//	System.out.println((double)maxCnt/10);
				System.out.println("페이지번호"+Math.ceil((double)result/10));
				pageNum = (int)Math.ceil((double)result/10);
			}else {
				pageNum = result;
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return pageNum;
	}

총 칼럼 수를 받아서 페이지 정보를 받아 보내주는 서블릿

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();

		BoardDAO dao = new BoardDAO();
		int maxCnt = dao.maxCnt();
		System.out.println("페이지수"+maxCnt);

		request.getParameter("page");
		System.out.println("선택한 페이지 번호" + request.getParameter("page"));
		String sPage = request.getParameter("page");

		if(sPage==null) {
        //처음 접속했을때 정보가 없으면 1페이지로 인식한다.
			ArrayList<BoradDTO> list = dao.getList(10);
			request.setAttribute("list", list);
			request.setAttribute("nextPage", 1);
			request.setAttribute("thisPage", 1);
			request.setAttribute("maxPage",maxCnt);
			request.getRequestDispatcher("B_boardMain.jsp").forward(request, response);
		}else {
        //넘어어오는 현재 페이지 정보가 있을 경우 총 페이지 수를 계산해서 메인 페이지로 정보를 보낸다
			int thisPage= Integer.parseInt(request.getParameter("page"));
			int nextPage = ((thisPage-1)/5)*5+1;
			int page = 10*(thisPage);
			ArrayList<BoradDTO> list = dao.getList(page);
			
			request.setAttribute("list", list);
			request.setAttribute("nextPage", nextPage);
			request.setAttribute("thisPage", thisPage);
			request.setAttribute("maxPage",maxCnt);
			request.getRequestDispatcher("B_boardMain.jsp").forward(request, response);
		}

}
profile
화이탱!

0개의 댓글