mvc에서 veiw와 model을 연결해주기 위해서는 controller가 필요하다. 나는 처음에는 그냥 html을 바로 연결해주려고 했다. 왜, 뭐가 문제야?
흠. 문제가 생겼다.
This may be the result of an unspecified view, due to default view name generation.
인터넷을 찾아보니까 뷰리졸버를 설정해 줘야고 했다. 뷰... 리졸버요..? 뷰 리졸버는 간단하게 말해서 컨트롤러가 반환한 문자가 템플릿에 html로 있는지 찾는 것이다. 타임리프는 이것을 아마 자동으로 부여해주는 듯 싶다.
타임리프를 써서 멀쩡하게 돌아갔다!
@Controller
@Slf4j
public class HomeController {
@RequestMapping("/home")
public String home(){
log.info("@@@ 로그 출력 @@@");
return "home";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="fragments/header :: header"></head>
<html lang = "ko">
<head>
<meta charset="UTF-8">
<title>웹소설 연재 페이지</title>
</head>
<body>
<h1>
여기서부터가 진짜
</h1>
<a th:href = "@{/board/list}">멤버로 이동</a>
</body>
</html>
현재 웹소설 플랫폼을 개발 중이기에 하나의 소설에는 여러개의 chapter이 들어가야 하고 하나의 chapter에는 여러개의 content가 들어가야 한다.
이를 위해 OneToMany, ManyToOne으로 연결을 해줬지만 뭐랄까... 연결이 안 된 느낌이다.
테스트를 할 때 하나의 chapter을 만들고 그 아래에다가 content를 2개 만들었는데, chapter의 content를 조회해보는 그 수가 0이 나왔다. 엥... 이게 뭐지...
처음에는 연쇄 삭제가 안 되서 그거 문제인 줄 알았더니 이게 문제였네. 아니면 잘 되고 있는데 내 현재 실력이 부족해서 그냥 모르는 걸까.