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);
}