Spring (boot) 오류 해결
cannot invoke because is null 페이지 처리
지각생
2022. 2. 11. 13:55
728x90
@GetMapping("/category")
public String saveCategoryName(@RequestParam(value = "categoryName", required = false) String categoryName,
@RequestParam(name = "p", required = false, defaultValue = "1") Integer page,
@RequestParam(name = "f", required = false, defaultValue = "title") String field,
@RequestParam(name = "q", required = false, defaultValue = "") String query,
@RequestParam(name = "r", required = false, defaultValue = "15") Integer rowNum,
@RequestParam(name = "desc", required = false, defaultValue = "DESC") String desc,
@RequestParam(name = "order", required = false, defaultValue = "date") String order,
@AuthenticationPrincipal PrincipalDetail principal, Model model, Board board) {
if (principal == null) {
System.out.println("principal"+principal.getNickName());
return "redirect:/";
} else {
List<Category> getCategoryList = leftService.getCategoryList(principal.getNickName());
model.addAttribute("getCategoryList", getCategoryList);
}
boolean pub = true;
List<Board> getWritingList = boardService.getWritingList(page, field, query, pub, rowNum, order, desc);
int getWritingCount = boardService.getWritingCount(field, query);
model.addAttribute("getWritingList", getWritingList);
model.addAttribute("getWritingCount", getWritingCount);
return "root.mid_contentList";
}
위와 같이 작성시
만약 principal이 null값이라면
if문 아래
System.out.println("principal"+principal.getNickName());
이란 구문만 넣어도
cannot invoke because is null 오류가 뜬다
따라서
해결
@GetMapping("/category")
public String saveCategoryName(@RequestParam(value = "categoryName", required = false) String categoryName,
@RequestParam(name = "p", required = false, defaultValue = "1") Integer page,
@RequestParam(name = "f", required = false, defaultValue = "title") String field,
@RequestParam(name = "q", required = false, defaultValue = "") String query,
@RequestParam(name = "r", required = false, defaultValue = "15") Integer rowNum,
@RequestParam(name = "desc", required = false, defaultValue = "DESC") String desc,
@RequestParam(name = "order", required = false, defaultValue = "date") String order,
@AuthenticationPrincipal PrincipalDetail principal, Model model, Board board) {
if (principal == null) {
return "redirect:/";
} else {
List<Category> getCategoryList = leftService.getCategoryList(principal.getNickName());
model.addAttribute("getCategoryList", getCategoryList);
}
boolean pub = true;
List<Board> getWritingList = boardService.getWritingList(page, field, query, pub, rowNum, order, desc);
int getWritingCount = boardService.getWritingCount(field, query);
model.addAttribute("getWritingList", getWritingList);
model.addAttribute("getWritingCount", getWritingCount);
return "root.mid_contentList";
}
principal null 일때 화면 전환으로 처리해주었다.
728x90