스프링 부트를 실행하면 index.html 파일을 먼저 찾아서 화면에 뿌린다.
즉, index.html 파일이 start 파일이 되는 것이다.
MVC 패턴
Model, View, Controller로 구성되는 웹개발 디자인 패턴이 있다. 추후 자세하게 다룰 예정.
// controller/HelloController
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
data라는 attributeName으로 hello!!라는 attributeValue를 넘겨준다.
hello를 return 해주는 것은 hello.html이라는 파일을 찾아서 랜더링하라는 의미이다.
- 컨트롤러에서 문자열을 return하면 'viewResolver'가 화면을 찾아서 처리한다.
** 주의할 점: Thymeleaf를 dependencies에 추가하지 hello 페이지를 찾지 못한다 **
Thymeleaf 템플릿
<!--hello.html-->
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>
thymeleaf 템플릿 엔진을 활용한 코드이다.
컨트롤러에서 값을 넘겨 받아서 data에 hello!! 라는 value가 들어간다.
반응형
'Web Project > Spring Boot' 카테고리의 다른 글
오류: org.hibernate.PersistentObjectException (0) | 2024.08.19 |
---|---|
스프링이 어떻게 html에서 name 태그로 값을 받아올 수 있을까? (0) | 2024.04.09 |