시작이 반

[Spring] 3. View 환경 설정 본문

Programming/Spring

[Spring] 3. View 환경 설정

G_Gi 2021. 1. 9. 00:42
SMALL

강의 참고 : www.inflearn.com/roadmaps/373

 

[초급~중급] 우아한형제들 개발팀장 김영한의 스프링 완전 정복 | 더 나은 학습을 위한 가이드

대세를 따르세요! 자바 스프링 베스트셀러 우형 개발팀장에게 배우는 스프링 완전 정복 🚩 오픈 3개월 만에 수강생 7000+명의 극찬 릴레이 ✨원리와 실무를 한방에, 김영한의 스프링 학습 1O1! 입

www.inflearn.com


현재는 코드가 아무것도 작성을 하지 않아서 에러페이지가 뜬다..

 

 

Welcome Page 만들기

 

resources/static/index.html

<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>

 

statlc/index.html을 올려두면 Welcom page기능을 제공한다.


Spring Boot supports both static and templated welcome pages. It first looks for an index.html file in the configured static content locations. If one is not found, it then looks for an index template. If either is found, it is automatically used as the welcome page of the application.

- 스프링 공식 홈페이지 Welcome page 설명


템플릿 엔진 동작

타임리프

thymeleaf 는 자바 라이브러리이며, 웹과 웹이 아닌 환경 양쪽에서 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔진이다

 

@Controller
public class HelloController {

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

웹 어플리케이션에서 /hello라고 들어오면 맵핑을 해놨기 때문에 public String hello 메소드가 실행이된다.

컨트롤러에서 리턴값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리한다.

지금 return 이 hello 인데 기본적으로 resources/templates/에서 찾는다.

resources/templates/hello.html

 

welcome page에서 /hello로 들어가면 controller에서 hello와 맵핑된 메소드가 실행된다.

그 메소드가 리턴값으로 문자를 반환하면 템플릿에서 해당 문자.html을 찾아서 viewResolver가 처리한다.

맵핑된 메소드에서 해당 속성에 맞는 값들을 바꿀수 있다. 

 

 

model(data:hello!!) 는 hello.html에서 data값이 hello!!로 들어간다는 뜻

<!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>

 

 

model이 아직 뭔지 잘 모르겠다.???;;

LIST