1. 책 검색 기능 : 목록 화면에서 검색어를 입력하고 검색 버튼 클릭하면 검색 주소로 이동
▷ localhost:8080/list?keyword=검색어
2. 책 검색 쿼리 작성
▷ src/main/resources/sqlmap/book_SQL.xml
▷ 기존의 책 목록 쿼리를 수정해서 검색 기능 추가
...(생략)... <!-- 책 검색 기능 쿼리 작성 --> <select id="select_list" parameterType="hashMap" resultType="hashMap"> <![CDATA[ select book_id, title, category, price, insert_date from book where 1 = 1 ]]> <if test="keyword != null and keyword != ''"> and (title like CONCAT('%', #{keyword}, '%') or category like CONCAT('%', #{keyword}, '%')) </if> order by insert_date DESC </select> </mapper>
3. 책 검색 서비스 레이어 (검색어 전달 기능만 추가되므로 수정하지 않습니다.)
4. 책 검색 컨트롤러 메소드 추가
▷ 컨트롤러에 검색 파라미터를 처리하는 부분을 추가, 키워드 파라미터가 있다면 뷰의 검색 상자에 보여지게 할 것
▷ src/main/java/sample/spring/yse/BookController.java
...(생략)... // 책 목록 컨트롤러 메소드 추가 @RequestMapping(value = "list") public ModelAndView list(@RequestParam Map<String, Object> map) { ...(생략)... mav.addObject("data", list); if(map.containsKey("keyword")) { mav.addObject("keyword", map.get("keyword")); } ...(생략)... }
5. 책 검색 뷰 수정(내용 추가)
▷ 책 검색 뷰를 수정해서 검색창이 보이도록 한다.
▷ src/main/webapp/WEB-INF/views/book/list.jsp
...(생략)... <h1>책 목록</h1> <p> <form> <input type="text" placeholder="검색" name="keyword" value="${keyword}" /> <input type="submit" value="검색" /> </form> </p> <table> ...(생략)...
6. 책 검색 기능 화면 출력
1. 책 목록(http://localhost:8080/list) 접속 화면
2. '이것이' 검색 했을 시 화면
검색창이 제대로 출력된 것을 확인할 수 있습니다.
목록 화면에 검색할 수 있는 창과 검색 버튼이 나타납니다.
여기서 원하는 텍스트를 작성하고 버튼을 클릭하면 해당 글자가 포함된 목록들만 나타납니다.
이렇게 생성, 수정, 삭제, 목록, 검색 등의 기능을 구현해서 도서관, 서점 등에서 사용할 수 있는 홈페이지 기능들을 구현해보았습니다!
JSP보다는 코드가 좀 어려운 것 같아요,,ㅎㅎ
그래도 자주 사용한다고하니 이번에도 달려볼게요!!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Spring' 카테고리의 다른 글
[코드로 배우는 스프링 웹 프로젝트] ch03 스프링과 오라클 DB 연동(히카리 사용) (0) | 2023.03.26 |
---|---|
[코드로 배우는 스프링 웹 프로젝트] ch01 스프링 개발환경 (0) | 2023.03.24 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 목록 만들기 (2) | 2023.03.18 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 삭제 기능 만들기 (0) | 2023.03.17 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 수정 기능 만들기 (0) | 2023.03.17 |