[AttiWell] pageNum,section 구현

jaeyong Lee·2024년 7월 24일
0

adminGoodsMain.jsp

 // JSTL의 반복 태크로 Page변수를 1부터 10까지 증가시키며 반복한다.
      <c:forEach var="page" begin="1" end="10" step="1">
        <c:if test="${section > 1 && page == 1}">
          <a href="${contextPath}/admin/goods/adminGoodsMain.do?section=${section-1}&pageNum=${(section-1)*10+1}">&nbsp; &nbsp;</a>
        </c:if>
        <a href="${contextPath}/admin/goods/adminGoodsMain.do?section=${section}&pageNum=${(section-1)*10+page}">${(section-1)*10+page}</a>
        <c:if test="${page == 10}">
          <a href="${contextPath}/admin/goods/adminGoodsMain.do?section=${section+1}&pageNum=${section*10+1}">&nbsp; next</a>
        </c:if>
                    </c:forEach>
  1. controller에서 section , page 1로 값이 온다.
  2. foreach로 page 반복문 시작
  3. 두번째 a 태그는 조건이 없음으로 이 조건이 1~10까지 채워줌
  4. page가 10까지 올라갔음으로 마지막 조건문에 해당하는 next가 보이고
    next를 누르면 section에 1을 추가함, 2번째 a태그에서 section이 2가되었음으로 11부터 출력
  5. section이 2가되었음으로 첫번째 a태그가 실행되고 prev버튼이 생긴다.
  6. prev버튼을 누르면 section - 1 이 됨으로 다시 1부터 시작

(& nbsp) : 공백문자

정리)
forEach문 안에있는 모든 코드들이 반복되고 있다. if걸린건 조건 만족할때만 실행되고
결국 반복문으로 인해서 1,2,3,4,5,6 ~ 10 next 뷰가 만들어진다.
그리고 누르면 a href 에 의해 url의 쿼리 매개변수로 간다.

page는 foreach에서 생성 -> pageNum과 section 쿼리매개변수 controller로 보낸다.
하지만 초기 secion,pageNum값은 controller에서 쏴준다.

Map<String,Object> condMap=new HashMap<String,Object>();
		if(section== null) {
			section = "1";
		}
		condMap.put("section",section);
		if(pageNum== null) {
			pageNum = "1";
		}
		condMap.put("pageNum",pageNum);
		condMap.put("beginDate",beginDate);
		condMap.put("endDate", endDate);

위의 코드를 보면 view를 뿌려주기전에 section 이 null이면 1로 지정하라는 말이 있다. 그래서
view 에서 표현어로 받을 수 있는 것

20240724 -> section 수정 후 11page로 넘어감

0개의 댓글