프로젝트/팀프로젝트

2022년 11월 18일 금요일 (게시판 검색기능)

후누피 2022. 11. 18. 16:01
728x90

● 검색창기능 뷰단에 코딩 main.jsp

 

제목,내용,주소를 선택하고

브라우저에서 검색버튼을 누르게되면 onclick="javascript:search()" 가실행된다.

 

 

select(제목,내용,주소)에 id를 column 부여하고

검색어 입력창에 id를 find 부여한상태에서 검색버튼을눌렀을때 ajax 함수가 실행된다.

 

url = board컨트롤러의 search 메서드가 실행되도록 설정되었다.

전송방식은 GET방식으로

data에는 select(제목or내용or주소) 와  검색어(ex: 맛집)을 담고

controller->service->dao->mapper->dao->service->controller를 거쳐

success에 결과값을 가져오게된다.

 

ex: 검색어 "맛집" 에 대한 게시물들을 보여주기위한 뷰단을 보여주기위해

location.replace()를 이용하여   main페이지와 게시판리스트 페이지에서 검색했을때

검색 결과 완료를 보여줄수있는 하나의 페이지 search.jsp로 이동하도록 설정해주었다.

 

● BoardController/ search 메서드

파라미터로 pageNum(페이지설정), @RequestParam("find") :검색어를 넣기위한 값을 String 타입으로

@RequestParam("column") 제목,내용,주소 선택값을 가져오기위해 String 타입으로 ,

session을 불러오기위해 설정해주었다.

 

검색어에 관련된 게시물 갯수를 불러주기위해서

searchCount와

 

게시물 정보를 불러주기위해서

listSearch를 사용하였다.

listSearch 는 배열로 보내줘야되기때문에

다시 , List<Board> searchList로 설정해주었다.

 

페이징부분을 설정해주고

mav객체에 모든 파라미터값들을 넣어준뒤에

mav객체를 리턴해줄것이다.

 

 

● Service

searchCount는 검색어에 맞는 게시물갯수만 출력하기 때문에

findcolumn 객체만 파라미터로 받는다.

 

listSearch는 검색어에맞는 실질적인 게시물들을 보여줘야하기때문에

pageNum(페이징을위한 값) 과 limit(최대 페이지수) 객체를 파라미터 값으로 받는다.

 

● BoardDao

Mapper에 searchCount(find,column) 의 sql구문을 실행값을 가져온다.

 

 

● BoardMapper

 

 

728x90