스프링 기초(인강 보충)_13

bitna's study note·2022년 7월 27일

스프링

목록 보기
34/54

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";
		
	}
profile
좋은개발자가 되기위한 삽질기록 노트

0개의 댓글