7월 28일
1.검색에 대한 화면 처리
list.jsp수정하기, 수정부분만 넣음
list.jsp에서 검색 form 부분
<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 eq 'TC'?"selected":""}>제목+내용</option>
<option value="TCW" ${pageMaker.cri.type eq '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>
자바스크립트 부분
<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>
list.jsp에서 번호를 눌렀을때 submit하여 form태그를 보내는 부분
<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>
2.페이지 이동시 검색조건 유지하기
get.jsp에서 목록버튼을 눌렀을때 submit하여 form태그를 보내는 부분
<form id='actionForm' action="/board/list" method='get'>
<input type='hidden' name='pageNum' value='${cri.pageNum}'>
<input type='hidden' name='amount' value='${cri.amount}'>
<input type='hidden' name='bno' value='${board.bno}'>
<input type='hidden' name='type' value='${cri.type}'>
<input type='hidden' name='keyword' value='${cri.keyword}'>
</form>
BoardController부분에서 수정하고 제거할때 Redirect 사용하는데,
검색조건을 유지하기 위하여 Redirect속성에 검색조건을 같이 보냄
@PostMapping("/modify")
public String modify(BoardVO board, Criteria cri, RedirectAttributes rttr) {
int count=service.modify(board);
if(count==1) rttr.addFlashAttribute("result","success");
rttr.addAttribute("pageNum", cri.getPageNum());
rttr.addAttribute("amount", cri.getAmount());
rttr.addAttribute("type", cri.getType());
rttr.addAttribute("keyword", cri.getKeyword());
return "redirect:/board/list";
}
@PostMapping("/remove")
public String remove(@RequestParam("bno") Long bno, Criteria cri, RedirectAttributes rttr) {
int count=service.remove(bno);
if(count==1) rttr.addFlashAttribute("result","success");
rttr.addAttribute("pageNum", cri.getPageNum());
rttr.addAttribute("amount", cri.getAmount());
rttr.addAttribute("type", cri.getType());
rttr.addAttribute("keyword", cri.getKeyword());
return "redirect:/board/list";
}