Search
Duplicate

Thymeleaf 문법 정리

태그
thymeleaf

기본내용

th:text
${...}
컨트롤러에서 전달받은 데이터에 접근할 수 있다.
#{...}
메세지 식에 사용된다. 외부 소스에서 locale 관련 메세지를 검색하는 데 사용된다.
관련 내용이 messages.properties 에 있어야 한다.
th:href=”@{...}
<body> <a th:href="@{...}"></a> </body>
HTML
복사
괄호안에 클릭시 이동하고자 하는 url 을 입력하면 된다.

레이아웃

xmlns:layout=””, layout:decorater=””
타임리프의 layout 기능을 사용하기 위해서는 의존성을 추가해야한다.
타임리프의 레이아웃 기능을 사용하기 위해 xmlns:layout 을 선언한다.
해당 페이지에 th:fragment 로 공통 영역을 가져와서 삽입한다.
th:fragment=””
공통 영역을 정의하여 코드를 정리하기 위해 사용한다.
주로 header 와 footer 에 쓰인다. 이를 통해 만들어진 조각을 삽입하기 위해서는 아래의 구문을 사용한다.
th:replace=”{파일경로 :: 조각이름}
fragment 로 조각화한 공통 영역을 html 에 삽입한다.
~{} 를 안써도 돌아가긴 했지만 앞으로는 쓸 예정이다

form

<body> <form th:action="@{}" th:object="${}" method="POST"> <input type="" id="" th:field="*{}" > <input type="" id="" th:field="*{}" > </form> </body>
HTML
복사
th:action=”@{...}"
<form> 태그 사용 시 해당 경로로 요청을 보낼 때 사용한다.
th:object=”${...}
<form> 태그에서 데이터를 보내기 위해 Submit 을 할 때 object 에 지정한 객체에 값을 담아 넘긴다. 이때 값을 th:field 속성을 사용하여 넘긴다.
Controller 에서 특정 클래스의 객체를 전달 받은 경우에만 사용이 가능하다.
th:field=”*{...}"
th:object 속성과 함께 th:field 를 이용해서 HTML 태그에 변수를 매핑할 수 있다.
th:field 를 이용한 사용자 입력 필드는 id, name, value 등의 속성 값이 자동으로 매핑된다.
Controller 에서 특정 클래스의 객체를 전달 받은 경우에만 사용이 가능하다.