
1. 기본 객체들
- 타임리프는 기본 객체들을 제공한다.
${#request}
${#response}
${#session}
${#servletContext}
${#locale}
2. 연산
- 비교연산 : HTML 엔티티를 사용해야하는 부분을 주의
- >(gt), <(lt), >=(ge), <=(le), !(not), ==(eq), !=(neq, ne)
3. 속성 값 설정
- 타임리프 태그 속성
- 타임리프는 주로 HTML태그에 th:* 속성을 지정하는 방식으로 동작한다.
- th.*로 속성을 적용하면 기존 속성을 대체한다.
- 기존 속성이 없으면 새로 만든다.
4. 반복 상태 유지
<tr th:each="user,userStat:${users}">
- 반복된 두번째 파라미터를 설정해서 반복의 상태를 확인할 수 있다.
- 지정한 변수명(user) + Stat -> userStat => 생략가능
5. 조건부 평가
- 타임리프의 조건식 : if, unless(if의 반대)
- 타임리프는 해당 조건이 맞지 않으면 태그 자체를 렌더링하지 않는다.
- 해당 조건이 false인 경우
<span>...</span>
부분 자체가 렌더링 되지 않고 사라진다.
6. 주석
6-1. 표준 HTML 주석
- 자바스크립트의 표준 HTML주석은 타임리프가 렌더링 하지 않고 그대로 남겨둔다.
6-2. 타임리프 파서 주석
- 타임리프 파서 주석은 타임리프의 진짜 주석이다.
- 렌더링에서 주석 부분을 제거한다.
6-3. 타임리프 프로토타입 주석
- 타임리프 프로토타입 주석은 HTML 주석에 약간의 구문을 더했다.
- HTML 파일을 웹 브라우저에서 그대로 열어보면 HTML 주석이기 때문에 이 부분이 웹 브라우저가 렌더링 하지 않는다.
- 타임리프의 렌더링을 거치면 이 부분이 정상 렌더링 된다.
- 즉, HTML 파일을 그대로 열어보면 주석 처리가 되지만, 타임리프를 렌더링 한 경우에만 보이는 기능이다.
7. 블록
- HTML 태그가 아닌 타임리프의 유일한 자체 태그이다.
<th:block>
- 사용빈도가 높지는 않고 어쩔 수 없이 사용될 때가 있다.