2021. 8. 11. 23:09, Back-End/Spring
검색창을 게시판에 보여지게 하고 그 검색을 계속 끌고 가야한다.(페이지넘길때도 검색을 끌고 가기)
list.jsp
<!-- 검색 -->
<form id='searchForm' action="/board/list" method="get">
<select name = "type">
<option value=""${pageMaker.cri.type == null?"selected":""}>---</option>
<option value="T"${pageMaker.cri.type eq 'T'?"selected":""}>제목</option>
<option value="C"${pageMaker.cri.type eq 'C'?"selected":""}>내용</option>
<option value="W"${pageMaker.cri.type eq 'W'?"selected":""}>작성자</option>
<option value="TC"${pageMaker.cri.type == 'TC'?"selected":""}>제목+내용</option>
<option value="TCW"${pageMaker.cri.type == 'TCW'?"selected":""}>제목+내용+작성자</option>
</select>
<input type = 'text' name = 'keyword' value='${pageMaker.cri.keyword }'>
<input type = 'hidden' name = 'pageNum' value='${pageMaker.cri.pageNum }'>
<input type = 'hidden' name = 'amount' value='${pageMaker.cri.amount }'>
<button class='btn btn-default'>Search</button>
</form>
BoardMapper.xml
<sql id="criteria">
<trim prefix="(" suffix=") AND">
<foreach collection="typeArr" item="type" separator="OR">
<if test="type == 'T'.toString()">
title like '%'||#{keyword}||'%'
</if>
<if test="type == 'C'.toString()">
content like '%'||#{keyword}||'%'
</if>
<if test="type == 'W'.toString()">
writer like '%'||#{keyword}||'%'
</if>
</foreach>
</trim>
</sql>
option - selected 속성은 페이지가 로드될 때 옵션 중에서 미리 선택되어지는 옵션을 말함
pageNum을 hidden으로 안보이게 하고 자바스크립트 함수를 만들어 페이지번호를 찾게 한다.
#searchForm 자바스크립트
var searchForm = $("#searchForm");
$("#searchForm button").on("click",function(e){
e.preventDefault();
console.log(".....................");
searchForm.find("input[name='pageNum']").val(1);
searchForm.submit();
});
근데 여기서 페이지를 넘길때도 검색 값을 들고 가야한다.
그럴려면 actionForm에 type hidden을 줘서 keyword와 type을 써서 유지되게 한다.
<form id='actionForm' action="/board/list" method='get'>
<input type='hidden' name='pageNum' value = '${pageMaker.cri.pageNum}'>
<input type='hidden' name='amount' value = '${pageMaker.cri.amount}'>
<input type='hidden' name='type' value = '${pageMaker.cri.type}'>
<input type='hidden' name='keyword' value = '${pageMaker.cri.keyword}'>
</form>
get.jsp에도 똑같이 hidden type,keyword를 추가해야한다.
'Back-End > Spring' 카테고리의 다른 글
[Spring] 댓글 구현 2 (0) | 2021.08.29 |
---|---|
[Spring] 댓글 구현 (0) | 2021.08.29 |
[Spring] 검색 처리 (0) | 2021.08.11 |
[Spring] 페이징 처리 및 번호 출력 (0) | 2021.08.06 |
[Spring] 인덱스,힌트와 ROWNM (0) | 2021.08.05 |
Comments, Trackbacks