검색

Shaun·2021년 8월 6일
1

project

목록 보기
6/9

검색

검색 처리는 크게 서버사이드 처리화면 쪽의 처리로 나뉘어진다.

1.서버사이드처리

  • PageRequestDTO에 검색 타입(type) 와 키워드 (keyword)추가
  • 이하 서비스 계층에서 Querydsl을 이용해서 검색 처리

서비스 계층의 검색 구현과 테스트

동적으로 검색 조건이 처리되는 경우의 실제 코딩은 Querydsl을 통해서 booleanBuilder을 작성하고, Repository 는 Querydsl로 작성된 booleanBuilder을 findAll()처리하는 용도로 사용한다.

serviceImpl클래스에 Querydsl 구현

코드양이 많아 보이지만 앞에서 Querydsl 사용법을 잘 숙지 했다면 별로 어렵지 않을것이다.
(@Query 방법보다 querydsl이 더 쉬운거같다.... @Query는 뭔가..어렵게 느껴진다.)

GetList 목록페이지 수정


GetList()에 booleanBuilder를 추가 해준다.

※Querydsl 실행은 findAll()메서드로 해준다.

목록페이지에서 검색처리

  1. select태그는 검색 타입을 선택하는 용도로 사용하는데 PageRequestDTO를 이용해서 검색 타입에 맞게 선택될 수있도록 구성한다.(PageRequestDTO로 데이터를 보낸다)


2. form 태그안에 정보는 버튼이벤트 처리로 submit한다.

  1. btn-search 를 클릭하면 새롭게 선택된 검색 타입과 키워드로 1페이지를 검색하고, btn-clear를 클릭하면 모든 검색과 관련된 내용을 삭제하고 검색이 없는 목록페이지로 돌아간다.

목록 페이지 하단의 검색은 단순히page라는 값만을 처리하므로 type 과 keyword를 추가해준다.

간단히 말하면 key=?&type? 이런식으로 추가해 준것이다

조회 페이지로 이동하는 검색 처리

글 번호를 눌렀을때 조회(detail)화면으로 들어가는 부분이다. type 과 keyword 부분을 추가해준다.(list페이지중)

조회 페이지 검색 처리

기존 조회(detail)페이지에서 수정 화면이나 다시 목록 으로 돌아가는 버튼 부분에 keyword와 type을 추가해준다.

-> 이동할때 그 전에 사용했던 값(페이지 정보) 유지를 위해

-조회 페이지의 검색처리 순서-

  • 목록페이지에서 특정한 조건으로 검색을 수행
  • 검색한 상태에서 특정 글을 선택해서 조회 페이지로 이동
  • 조회 페이지에서 목록 페이지로 버튼을 클릭해서 이동

수정 작업 후 이동 처리

  • 등록 처리:1페이지로 이동
  • 삭제 처리:1페이지로 이동
  • 수정 처리:조회 페이지로 이동

(수정페이지 일부)

->수정 처리후 다시 조회 페이지로 이동하기 떄문에 검색 조건을 유지해야한다.
->조회 페이지는 page뿐 아니라 type과 keyword 처리 해야 한다.

->수정 페이지에서 다시 목록으로 돌아갈때도 type 와 keyword가 같이 전달 될수 있도록 이벤트 처리 부분도 수정 한다.

->수정한후 조회페이지로 이동시 검색조건을 유지할수 있도록 keyword 와 type을 리다이렉트 시켜준다

profile
호주쉐프에서 개발자까지..

0개의 댓글

관련 채용 정보