YSHUSH

게시판6. 검색 본문

Coding/SpringFramework

게시판6. 검색

코딩; 2022. 2. 2. 17:31

 

1. bbslist.jsp에 javascript 추가

<script type="text/javascript">
function searchBbs() {
	let choice = document.getElementById("choice").value;
	let search = document.getElementById("search").value;
	
	location.href = "bbslist.do?choice=" + choice + "&search=" + search;
}
</script>

"&search="에 blank 넣지 말기 → null값이 들어가기 때문!

 

2. BbsController - bbslist부분 업데이트

@RequestMapping(value = "bbslist.do", method = RequestMethod.GET)
public String bbslist(Model model, BbsParam param) {
    logger.info("BbsController bbslist() " + new Date());

    List<BbsDto> list = service.bbslist(param);
    model.addAttribute("bbslist", list);

    return "bbslist";
}

 

3. BbsParam(dto) 만들기

package mul.camp.a.dto;
import java.io.Serializable;

public class BbsParam implements Serializable{
	private String choice;
	private String search;
	
	public BbsParam() {
	}
	public BbsParam(String choice, String search) {
		super();
		this.choice = choice;
		this.search = search;
	}
	
	public String getChoice() {
		return choice;
	}
	public void setChoice(String choice) {
		this.choice = choice;
	}
	public String getSearch() {
		return search;
	}
	public void setSearch(String search) {
		this.search = search;
	}	
	
	@Override
	public String toString() {
		return "BbsParam [choice=" + choice + ", search=" + search + "]";
	}
}

 

4. Bbs.xml - bbslist부분 업데이트

<select id="bbslist" parameterType="mul.camp.a.dto.BbsParam" resultType="mul.camp.a.dto.BbsDto">
	SELECT SEQ, ID, REF, STEP, DEPTH, TITLE, CONTENT, WDATE, DEL, READCOUNT
	FROM BBS
	<if test="choice != null and choice != '' and search != null and search != ''">
		<if test="choice == 'title'">
			WHERE TITLE LIKE '%'||#{search}||'%'
		</if>
		<if test="choice == 'content'">
			WHERE CONTENT LIKE '%'||#{search}||'%'
		</if>
		<if test="choice == 'writer'">
			WHERE ID=#{search}
		</if>	
	</if>
	ORDER BY REF DESC, STEP ASC
</select>

 

5. BbsDao, BbsDaoImpl 업데이트(bbslist부분 변경)

BbsDao

List<BbsDto> bbslist(BbsParam param);

BbsDaoImpl

@Override
public List<BbsDto> bbslist(BbsParam param) {		
    return session.selectList(ns + "bbslist", param);
}

 

6. BbsService, BbsServiceImpl 업데이트(bbslist부분 변경)

BbsService

List<BbsDto> bbslist(BbsParam param);

BbsServiceImpl

@Override
public List<BbsDto> bbslist(BbsParam param) {		
    return dao.bbslist(param);
}