Thymeleaf(타임리프): 흔히 View Template이라고 부른다. 뷰 템플릿은 컨트롤러가 전달하는 데이터를 이용하여 동적으로 화면을 구성할 수 있게 해준다.
스프링 부트는 설정을 통해서 JSP 등을 사용할 수도 있지만 기본적으로 JSP 대신에 Thymeleaf나 FreeMarker, Mustache 등을 이용해서 화면을 처리한다.
Thymeleaf를 이용하는 이유는 다음과 같다.
- JSP와 유사하게 ${}을 별도의 처리 없이 이용할 수 있다.
- Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편하다.
- 연산이나 포맷과 관련된 기능을 추가적인 개발 없이 지원한다.
- 개발 도구를 이용할 때 .html파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않는다.
사용법)
예제를 위해 dto패키지를 만들어 SampleDTO 클래스를 생성후
위와 같이 변수를 선언한다.
SampleController클래스의 exModel메서드를 선언해주고 위와같이 선언된 변수에 20개의 객체를 넣어준후 이를 Model에 담아서 전송한다.
@GetMapping옆에 {}처리는 하나 이상의 URL을 지정할 수 있다는 의미이다.
위의 변수들은 리스트형식 이기때문에 HTML에서 반복문 처리를 해줘야 간편하게 찍을수 있다.
그후 templates아래에 html파일을 생성하고 위와같이 작성한다. (thymeleaf는 templates이 html이 되도록 자동으로 설정되어 있다)
list의 처리를 위해 반복문을 사용한다. thymeleaf는 반복문을 each를 사용하여 처리한다.
위와 같이 출력되는 것을 볼수있다.
'코드로 배우는 스프링부트 웹 프로젝트' 카테고리의 다른 글
Springboot) 동적 쿼리 처리를 위한 Querydsl 설정과 사용 (0) | 2021.12.02 |
---|---|
Springboot) 자동으로 처리되는 날짜/시간 설정 , JPA객체의 범위 (0) | 2021.12.02 |
Springboot) MVC패턴 (0) | 2021.11.26 |
Springboot) 쿼리 메서드와 @Query (0) | 2021.11.25 |
Springboot) 페이징(Pageable)/정렬(sort) 처리 (0) | 2021.11.25 |