230831 spring 페이징 화면처리
14장 페이징 화면처리
1. com.zerock.domain -> PageDTO.java 생성
2. BoardController.java -> getmapping /list 에 Criteria cri 추가해주기
3. list.jsp -> 페이징 관련 jstl, js 추가해주기
4. 페이징 prev 1 2 3 4 5 6 7 8 9 10 next 추가
5. 페이징 10에서 next누르면 11로 넘어가지게
6. 페이징 11 12 13 에 있으면 prev 누르면 1 2 3 4 5 나오게
7. getTotalCount 변수 생성
8. 제목에 커서 댔을때 왼쪽아래에 정보생성 -> list.jsp 41번째줄 참고
9. 제목 눌러서 들어갔다나 목록보기로나왔을때 1페이로 안가고 원래 그페이지에 그대로 있게 하기
10. 제목 눌러서 수정 후 수정이 되면서 그 페이지에 가만히 있고, 수정도 된다.
페이징 위에처럼 10단위로 안움직이고 next, prev 누르면 1씩만 올라가게 하는것도 있다.
(디자인중에서 4번으로 가면 123,56789가 안보이게 하는 디자인도 있다.)
ㅡㅡㅡ오후1ㅡㅡㅡ
1. 전체 게시글 갯수를 확인하는 SQL 작성
<select id="getListCnt" resultType="int">
<![CDATA[
select count(*)
from tbl_board;
]]>
</select>
2. xml과 mapper 추가
3. service 추가
4.BoardServiceImpl.java
5. controller 수정
ㅡㅡㅡ오후2ㅡㅡㅡ
1. Controller 의 modify(get) method에 인자 설정
boardcontroller 75번째줄 추가
2. view에 인자로 들어온 정보 전달
modify .jsp 30번째줄 수정
3. Controller의 modify(post) method에 인자 설정
boardcontroller -> postmapping ->@ModelAttribute("cri") Criteria cri 추가
4. 처리후 redirect에 알맞는 url 정보 포함
rttr.addAttribute("pageNum", cri.getPageNum());
rttr.addAttribute("amount", cri.getAmount());
97번째줄 추가
ㅡㅡㅡㅡ14장 완료!ㅡㅡㅡㅡ
public void modify(long bno, Model model, @ModelAttribute("cri") Criteria cri) {
@ModelAttribute("cri") Criteria cri -> @ModelAttribute는 model.addAttribute("cri", cri);
를 안써도 되게 하기 위한 어노테이션이다.