게시판 글 리스트 jsp
<span name="category" value="정보" onClick="changeList('정보')">정보</span> |
<span name="category" value="문제 보고" onClick="changeList('문제 보고')">문제 보고</span> |
<span name="category" value="질문" onClick="changeList('질문')">질문</span> |
<span name="category" value="정리" onClick="changeList('정리')">정리</span> |
<span name="category" value="잡담" onClick="changeList('잡담')">잡담</span>
컨트롤러, 서비스, dao는 기존 게시판 정렬을 재활용
매퍼 내용 추가
<when test="orderBy == '정보'"> <!-- 정보 카테고리 -->
WHERE category = '정보'
ORDER BY boardNum desc
</when>
<when test="orderBy == '문제 보고'"> <!-- 문제 보고 카테고리 -->
WHERE category = '문제 보고'
ORDER BY boardNum desc
</when>
<when test="orderBy == '질문'"> <!-- 질문 카테고리 -->
WHERE category = '질문'
ORDER BY boardNum desc
</when>
<when test="orderBy == '정리'"> <!-- 정리 카테고리 -->
WHERE category = '정리'
ORDER BY boardNum desc
</when>
<when test="orderBy == '잡담'"> <!-- 잡담 카테고리 -->
WHERE category = '잡담'
ORDER BY boardNum desc
</when>
jsp에 검색 기능 추가
<form action="<c:url value='/searchPost'/>" method="post" style="display: inline;">
<select name="searchTag" >
<option value="title_contents">제목 + 내용</option>
<option value="title">제목</option>
<option value="contents">내용</option>
<option value="nickname">닉네임</option>
</select>
<input type="text" name="searchData">
<input type="submit" value="검색">
</form>
컨트롤러에 함수 추가
//게시판 글 검색하기
@PostMapping("/searchPost")
public ModelAndView searchPost(String searchTag, String searchData) {
HashMap<String, String> map = new HashMap<>();
map.put("searchTag", searchTag);
map.put("searchData", searchData);
List<DebugBoardDTO> list = serv.searchList(map);
ModelAndView mav = new ModelAndView();
mav.addObject("list", list);
mav.setViewName("member/Test/viewDBoardList");
return mav;
}
매퍼 추가
<!-- 게시판 글 검색 -->
<select id="searchList" resultType="DebugBoardDTO" parameterType="hashmap">
SELECT *
FROM debugBoardDB
<where>
<if test="searchTag == 'title_contents'"> <!-- 제목 + 내용 -->
AND (title LIKE '%'||#{searchData}||'%' OR content LIKE '%'||#{searchData}||'%')
</if>
<if test="searchTag == 'title'"> <!-- 제목 -->
AND title LIKE '%'||#{searchData}||'%'
</if>
<if test="searchTag == 'contents'"> <!-- 내용 -->
AND content LIKE '%'||#{searchData}||'%'
</if>
<if test="searchTag == 'nickname'"> <!-- 닉네임 -->
AND nickname = #{searchData}
</if>
</where>
ORDER BY boardNum desc
</select>
- choose when은 작동하지 않는다...이유는 몰랑
'팀프로젝트 > SpringBoot' 카테고리의 다른 글
스프링부트 팀플) 20240320_날짜 형식 변경 (0) | 2024.03.20 |
---|---|
스프링부트 팀플) 20240319 사용자가 게시판 접속 시 랜덤값 생성 (0) | 2024.03.19 |
스프링부트 팀플) 20240319_이전글/다음글 (0) | 2024.03.19 |
스프링부트 팀플) 20240318_수정/삭제 비밀번호 확인 + 삭제 경고창 + 정렬 (0) | 2024.03.18 |
스프링부트 팀플) 20240318_ckEditor로 전환 + 일부 수정 (0) | 2024.03.18 |