
[1] 검색기능 추가
(1) PageCriteria 추가
검색할조건 type과 검색할 키워드 keyword 를 변수로 만든다
다중검색을 하기위해 배열로 만든다

(2) BoardMapper.xml 수정
페이징하여 추출된 리스트에 검색한 결과물을 출력해야한다

(3) BoardMapeerTest
단일검색, 다중검색 등을 적용하여 검색결과물을 테스트해본다



(4) 검색된 게시글의 갯수와 페이지 처리
만들어둔 BoardMapper.xml 에서 페이징 항목을 분리하여
페이징 했을때 각각 적용되도록 include한다

[2] html 검색창
(1) list.jsp 수정
기존 부트스트랩에 검색기능이 포함되어있는데 자바로 컨트롤하기 위해서
부트스트랩은 css만 가져오고 display:none하고 새로 form을 만들겠다




검색조건과 키워드를 입력하지 않은채 검색버튼을 눌렀을때 경고창이 뜨도록 설정한다
3페이지에서 검색했을때 다시 3페이지가 아닌 첫페이지가 보이게끔 설정한다

검색한 텍스트 를 그대로 첫페이지로 이동해야함으로 actionform 수정한다
type,keyword를 가져온다

type 미 선택시 경고창

keyword 미 입력시 경고창

검색시 항상 페이지 1번으로 실행됨

[3] 조회, 수정 , 삭제
(1) 조회 get.jsp
검색된 게시판에 글 조회시 정상 조회됨 , 안정성을 위해 get 조회 페이지에도
type,keyword 정보를 넣는다

(2) 수정 modify.jsp
게시글 수정을 해도 검색된 리스트 상태에서 페이지로 돌아간다
동작 후 redirect: 로 이동함으로 boardController에도 추가해줘야한다
type,keyword 정보를 넣는다


redirect: 로 동작할때는 type,keyword 조건을 추가한다

(3) 삭제 remove
게시글 삭제를 해도 검색된 리스트 상태에서 페이지로 돌아간다
redirect: 로 동작할때는 type,keyword 조건을 추가한다

[4] UriComponentsBuilder
(1) 특징
웹 사이트 이동시 파라미터를 계속 유지할수 있도록 여러개의 파라미터들을 연결해서 url형태로 만들어준다
RestTemplate과 사용할경우 인코딩 중복이 발생할수 있어 인코딩이 되지 않은 string을 생성하거나 인코딩된 url을 생성해서 사용한다
(2) 실제 적용


'🌈 프로젝트 > 웹 프로젝트' 카테고리의 다른 글
🌻 웹프로젝트_[14] 오라클_댓글 기능 CRUD (238) | 2023.12.31 |
---|---|
🌻 웹프로젝트_[13] 오라클_댓글 DB 준비 (6) | 2023.12.31 |
🌻 웹프로젝트_[11] 오라클_페이징 처리 (237) | 2023.12.24 |
🌻 웹프로젝트_[10] 오라클_페이지 네비게이션 (235) | 2023.12.22 |
🌻 웹프로젝트_[9] 오라클_MyBatis 페이징 처리 (160) | 2023.12.17 |