
서버 사이드 HTML 렌더링 (SSR)타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다네츄럴 템플릿타임리프는 순수 HTML을 최대한 유지하는 특징이 있다.순수 HTML을 그대로 유지하면서 뷰 템플릿도 사용할 수 있는 타임리프의 특징타임리프로 작

타임리프에서 변수를 사용할 때는 변수 표현식을 사용한다.basicController /resources/templates/basic/variable.html실행결과단순한 변수가 아닌, Object나, List, Map같은 객체는 다음과 같이 사용가능하다.Objectus

\*\*${- ${- \`${- \*\*${- \*\*${기본 객체들의 프로퍼티 접근을 하기위해 \*\*${데이터를 조회하려면 \*\*${HTTP 요청 파라미터 접근: \*\*param\*\*예) ${param.paramData}HTTP 세션 접근: \*\*sessio

타임리프는 문자, 숫자, 날짜, URI등을 편리하게 다루는 다양한 유틸리티 객체들을 제공한다.타임리프 유틸리티 객체들\- - - - - \- - - - - 타임리프에서 자바8 날짜인 LocalDate , LocalDateTime , Instant 를 사용하려면 추가 라

타임리프에서 URL을 생성할 때는 @{...} 문법을 사용한다.단순한 URL@{/hello} → /hello쿼리 파라미터@{/hello(param1=${param1}, param2=${param2})} → /hello?param1=data1&param2=data

리터럴은 소스 코드상에 고정된 값을 의미한다.타임리프는 다음과 같은 리터럴이 있다.문자: 'hello'숫자: 10불린: true , falsenull: null타임리프에서 문자 리터럴은 항상 ' (작은 따옴표)로 감싸야 한다.<span th:text="'hello

타임리프의 연산은 자바의 연산과 큰 차이점이 없다. HTML엔티티를 사용하는 부분만 주의해서 사용하면 된다. 연산자 종류 비교연산: HTML 엔티티를 사용하는 부분 주의 >(gt), = (ge), <= (le), ! (not), == (eq), != (n

HTML 태그 내에 \*\*th:\*\*\* 속성을 지정하면 타임리프가 기존 속성\*\*th:\*\*\* 로 지정한 속성으로 대체한다<input type="text" name="mock" th:name="userA" /> → <input type="text"

타임리프에서 반복은 \*\*th:each\*\* 를 사용한다. 반복에서 사용할 수 있는 여러 상태 값을 지원한다.<tr th:each="user : ${users}">반복시 오른쪽 컬렉션( ${users} )의 값을 하나씩 꺼내서 왼쪽 변수( user )에 담아서

타임리프에서 조건식타임리프는 해당 조건이 맞지 않으면 태그 자체를 렌더링하지 않는다.\*\*th:if="조건식"\*\*\*\*th:unless="조건식" (if의 반대)\*\*조건을 여러개 걸어줄 경우에는 and와 or를 사용th:if="조건1 and 조건2"switc

표준 HTML 주석자바스크립트의 표준 HTML 주석은 타임리프가 렌더링 하지 않고, 그대로 남겨둔다.타임리프 파서 주석타임리프에 적용되는 주석, 렌더링에서 주석 부분을 제거한다.타임리프 프로토타입 주석HTML 파일을 웹 브라우저에서 그대로 열면 렌더링되지 않고 타임리프

타임리프의 특성상 HTML 태그안에 속성으로 기능을 정의해서 사용하지만 타임리프의 속성을 사용하기 애매한 경우 타임리프의 유일한 자체 태그 th:block 을 사용한다.여러 요소를 그룹화해서 반복할때 사용한다.th:block은 렌더링시 제거된다basicControlle

공통영역을 템플릿화 하여 필요한 부분에서 해당 템플릿을 메서드처럼 불러 설정하는 템플릿 조각과 레이아웃 기능을 지원한다.공통영역을 모듈화 시킨다.TemplateController template/fragment/footer.htmltemplate/fragment/fra

템플릿 조각공통 코드 조각을 가지고와서 원하는 부분에 추가 사용템플릿 레이아웃현재 코드 조각을 레이아웃에 넘겨서 사용TemplateController template/layout/base.htmltemplate/layout/layoutMain.html실행 결과commo

스프링 통합으로 추가되는 기능들스프링의 SpringEL 문법 통합${@myBean.doSomething()} 처럼 스프링 빈 호출 지원편리한 폼 관리를 위한 추가 속성th:object (기능 강화, 폼 커맨드 객체 선택)th:field , th:errors , th:e