데이터를 미리 정의된 템플릿에 바인딩해서 뷰의 표시를 도와주는 것

Model addAttribute(String name, Object value)
특정 이름에 대해 값을 설정한다. 저장하고 싶은 값에 별명을 붙인다고 생각하면 된다. 뷰에서는 별명에 사용한 이름을 이용한다.




직접 설정한 문자를 출력할 때 th:text="[출력 문자]"로 출력. [출력 문자] 부분에 '${ }' 사용 가능
속성값의 값 설정에 "(큰따옴표)를 사용하므로 문자를 설정할 때는 '(작은 따옴표)로 둘러싼다.

[[${ }]]를 사용하면 태그를 속성에 추가하는 대신 본문에 변수를 포함할 수 있다.


외에도 지역 변수, 비교와 등가, 조건 연산자, 조건 분기, switch, 참조, 반복 등을 사용할 수 있다.

타임리프의 레이아웃에 필요한 전용 라이브러리인 thymeleaf-layout-dialect를 추가한다.

요청 핸들러 메서드에 @GetMapping("show") 어노테이션(10번째 줄)을 부여한다.
클라이언트로부터 URL(http://localhost:8080/show)이 GET 메서드로 송신되면 ThymeleafController 클래스의 showView 메서드가 호출되고 13번쨰 줄에서
반환값으로 '뷰 이름: useThymeleaf'를 돌려준다.
showView 메서드의 인수로 11번째 줄의 Model 타입을 설정한다.



4번째 줄에서는 Model에 값으로 '이순신'을 저장할 때 설정한 이름인 name을 [[${name}]] 형식으로 사용.
이를 사용하면 태그의 속성에 추가되는 것이 아니라 본체에 변수로 삽입된다.








어느 값과도 일치하지 않는 값을 출력하는 경우에는 th:case="*"로 지정한다.
java의 default와 같은 사용법이다.


List나 배열의 요소를 참조 -> 인덱스
Map의 요소를 참조 -> 키