Spring

뷰 페이지

Coarti 2024. 1. 7. 15:36

브라우저 URL 요청으로 해당 페이지를 보여주기 위해

톰캣은 컨트롤러에서 요청한 경로를 찾아 함수를 실행 시키고 화면으로 보여줄 파일의 이름을 리턴한다

최종적으로 src > resources > templates 안에 있는 파일 중 하나를 보여준다

 

요청 > 컨트롤러 > 뷰 리졸버 > 새로운 페이지

 

 

컨트롤러 패키지를 만들고 그 안에 HelloComtroller 클래스를 만들어 아래의 내용을 적어준다

 

@Controller
public class HelloController {

    @GetMapping("hello")
    public String hello(Model model) {
        model.addAttribute("data", "hello!!!");
        return "hello";
    }
}

각 클래스에 맞게 임포트 해준다

 

템플릿 안에 hello.html을 만들어 내용을 추가한다

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p th:text="${data} + ' Nice to meet you'">Good to see you</p>
</body>
</html>

타임리프 엔진을 사용해 내용을 고정된 정적페이지가 아닌 컨트롤러에서 넘겨주는 정보를 사용하여 사용자에 맞는 여래 형태로 변화를 주는 동적페이지로 활용할 것이다

따라서 컨트롤러에서 Model 클래스에서 data라는 이름으로 hello!! 라는 값을 주었기 때문에

HTML에서도 data의 이름을 그대로 사용하여 프로그램을 실행시켜

브라우저 주소에 locahost:8080/hello를 입력하자

 

내용이 확인 된다면 이제 컨트롤러에서 hello!! 부분의 내용을 바꿔 변화를 확인하자

추가적으로 P 태그 안에 있는 내용은 타임리프 엔진을 우선으로 하기 때문에 작성된 내용은 무시된다

 

 

compileOnly("org.springframework.boot:spring-boot-devtools")

spring-boot-devtools와 같은 설정을 별도로 하지 않았다면 어플리케이션을 재실행하여 변화를 확인하자

728x90