스프링의 SpringEL 문법 통합
${@myBean.doSomething()} 처럼 스프링 빈 호출 지원
편리한 폼 관리를 위한 추가 속성
폼 컴포넌트 기능
스프링의 메시지, 국제화 기능의 편리한 통합
스프링의 검증, 오류 처리 통합
스프링의 변환 서비스 통합(ConversionService)
HTML 태그의 id, name, value 속성을 자동으로 처리
HTML checkbox의 히든 필드를 자동 생성
th:each로 함께 반복문을 돌릴 때 id뒤에 임의로 1,2,3.. 숫자를 추가
<div th:each="region : ${regions}" class="form-check form-check-inline">
<input type="checkbox" th:field="*{regions}"
th:value="${region.key}"
class="form-check-input">
<label th:for="${#ids.prev('regions')}"
th:text="${region.value}" class="form-check-label">서울</label>
</div>
th:each="region : ${regions}"
th:for="${#ids.prev('regions')}"
HTML의 id 가 타임리프에 의해 동적으로 만들어지기 때문에
label 의 대상이 되는 id 값을 임의로 지정 불가
ids.prev(...) , ids.next(...) 을 이용하여 동적으로 생성되는 id 값을 사용 가능
<div th:each="type : ${T(hello.itemservice.domain.item.ItemType).values()}">
but
ENUM의 패키지 위치가 변경될 시, 컴파일 오류를 잡을 수 없음