모델 설정 여부에 따른 th:if 조건문 설정
2024. 1. 8. 15:12
728x90
Controller에서
전체 게시판 보기 >는 모델에 따로 맵핑할 필요가 없고
나머지 카테고리별 게시판 보기 >는 모델에 맵핑하여 board를 전해준다.
이때 게시판 화면은 같기 때문에 th:if문으로 경우에 따른 조건을 설정해주어야 한다.
컨트롤러
// 카테고리별 게시글 목록 보기
@GetMapping("/{boardId}")
public String readArticles(@PathVariable Long boardId, Model model) {
Board board = boardService.findByBoardId(boardId).orElse(null);
model.addAttribute("boards", board);
model.addAttribute("articles", boardService.readAllArticlesByBoardId(boardId));
return "articleList";
}
// 전체 카테고리 게시글 목록 보기
@GetMapping("/allCategory")
public String readAllCategoryArticles(Model model) {
model.addAttribute("articles", boardService.readAllArticles());
return "articleList";
}
이때 html은 이렇게 설정해주었다.
<div class="d-flex justify-content-between align-items-center mb-4">
<!-- 모델이 설정된 경우 boards는 null이 아님-->
<h2 th:if="${boards != null}" th:text="${boards.category +' 게시판 게시글 목록 보기'}">게시판 게시글 목록 보기</h2>
<!-- 모델이 설정되지 않은 경우 (즉, 전체 카테고리 목록) boards는 null이다. -->
<h2 th:if="${boards == null}">전체 게시판 게시글 목록 보기</h2>
<a href="#" class="btn btn-primary">게시글 쓰기</a>
</div>
모델이 설정되지 않을 경우에는 boards가 null이 된다는 사실~~~~!
728x90
'Project > anonymous board project' 카테고리의 다른 글
프로젝트 진행 중 발생한 어려움 및 고민거리 (0) | 2024.01.12 |
---|---|
Entity와 Dto (1) | 2024.01.09 |
익명 게시판 프로젝트 (0) | 2024.01.08 |