1) head.jspf
<li class="hover:underline">
<a class="flex h-full items-center px-3" href="../article/list?boardId=1" >
<span>NOTICE</span>
</a>
</li>
<li class="hover:underline">
<a class="flex h-full items-center px-3" href="../article/list?boardId=2" >
<span>FREE</span>
</a>
</li>
boardId
로 게시판을 분리( 게시글에 boardId가 저장되있음 )2) board 객체
@RequestMapping("/usr/article/list")
public String showList(HttpServletRequest req, Model model, int boardId) {
Rq rq = (Rq) req.getAttribute("rq");
Board board = boardService.getBoardById(boardId);
List<Article> articles = articleService.getForPrintArticles(rq.getLoginedMemberId());
model.addAttribute("articles", articles);
model.addAttribute("board", board);
return "usr/article/list";
}
board객체
로 받음model.addAttribute("board", board)
하여 jsp파일
에서 board객체 데이터를 사용3) list.jsp
~~ 생략 ~~
<c:set var="pageTitle" value="${board.name}" />
board데이터
를 jsp에서 사용1) 존재하지 않는 게시판 처리
@RequestMapping("/usr/article/list")
public String showList(HttpServletRequest req, Model model, int boardId) {
Rq rq = (Rq) req.getAttribute("rq");
Board board = boardService.getBoardById(boardId);
if(board==null) {
return rq.jsHistoryBackOnView("존재하지 않는 게시판 입니다.");
}
List<Article> articles = articleService.getForPrintArticles(rq.getLoginedMemberId(),board.getId());
board객체
를 가져올수 없다면 게시판이 존재하지 않으므로 뒤로가기2) boardId를 토대로 DB로부터 게시물 불러오기
<select id="getForPrintArticles" resultType="Article">
SELECT A.* , M.nickname AS extra__writer
FROM article AS A
INNER JOIN `member` AS M
ON A.memberId = M.id
WHERE 1
<if test="boardId != 0">
AND boardId = #{boardId}
</if>
ORDER BY A.id DESC
</select>
게시글들에는 어떤 게시판의 게시글인지 판별 하기위해 boardId가 저장되있다
게시판 마다 해당하는 글
들만 불러오기 위한 쿼리문
boardId가 0이라면 전체글
을 불러온다