반응형

저번에 포스팅했던 페이징이 1개씩만 올라가서 ..

뭐지 하다가 

방법을 찾았다! 

 

pagevo에 private int pagecnt;를 추가하자

 

	//사용자가 선택한 페이지 정보를 담을 변수.
	private int pageNum;
	private int countPerPage;
	private int pagecnt;
    public int getPageStart() {
	        return (pageNum-1)*countPerPage;
	    }

	//검색에 필요한 데이터를 변수로 선언.
	private String keyword;
	private String condition;
	
	public PageVO() {
		this.pageNum = 1;
		this.countPerPage = 10;
	}

이제 위에 것으로 매퍼를 바꿔줄 것이다.

 

     <select id="getFreeBoard" resultType="com.vegan.recipe.freeBoard.freeboardVO">

     	select * from Vegan_freeBoard 
     	<include refid="search" />
     	order by freeboard_no desc
     	limit #{pagecnt} ,  #{countPerPage}

기존 pageNum에서 pagecnt로 바꿧다.

 

그후 jsp에서

 

          <input type="hidden" name="pageNum" value="${pc.paging.pageNum}">
	                            <input type="hidden" name="countPerPage" value="${pc.paging.countPerPage}">
	                            <input type="hidden" name="keyword" value="${pc.paging.keyword}">
	                            <input type="hidden" name="condition" value="${pc.paging.condition}">
	                            <input type="hidden" name="pagecnt" value="10">

히든 값으로 pagecnt를 추가해 주었다. 

 

그후 컨트롤러에서 

 

	@GetMapping("/freeList")
	public String getFree(Model model, PageVO vo) {
		System.out.println("자유 게시판으로 이동");
		System.out.println("검색어" + vo.getKeyword());
		System.out.println("검색조건" + vo.getCondition());
		
		PageCreate pc = new PageCreate();
		pc.setPaging(vo);
		pc.setArticleTotalCount(service.getTotal(vo));
		
		System.out.println(pc);
		vo.setPagecnt((vo.getPageNum()-1) * vo.getCountPerPage());
		model.addAttribute("freeList", service.getFreeBoard(vo));
		model.addAttribute("pc", pc);
		
		return "FreeBoard/freeList";
	}

vo.setPagecnt((vo.getPageNum()-1) * vo.getCountPerPage());

를 추가 해준다. 

 

생각해보면 당연한거였다. 

pagenu,m은 1씩을라가는데 1씩 올리니 페이지가 이동해도 1밖에 올라가지 않았다. 

이렇게 하면 10씩 쫙쫙올라간다.

 

ㅎ ㅏ

페이징만 4시간 넘게 한거같다. 진빠져..

 

근데 진짜 페이징은 제대로 익힌듯 하다..

 

씻고 자자 11시에 까먹을까봐 포스팅을 하는나 멋져

반응형

+ Recent posts