본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : 타임리프 입력 폼 처리하기 th:object와 th:field 사용

by 오주현 2022. 2. 8.
반응형

타임리프 입력 폼 처리


폼 코드를 타임리프의 추가 기능을 통해 효율적으로 개선할 수 있다.

 

강의에서 몇 가지 주요 코드를 사용했는데 아래와 같다.

th:object

커맨드 객체를 지정한다.

 

*{...}}

선택 변수식으로 th:object에서 선택한 객체에 접근한다.

아래 예시에서 보면 이해가 편하다.

 

th:field

HTML 태그의 id, name, value 속성을 자동 처리해준다.

 

model.addAttribute("item", new Item());

먼저 컨트롤러에서 객체를 넘겨준다.

 

<form action="item.html" th:action th:object="${item}" method="post">

폼 태그에 th:object 속성을 사용해 model에서 전달한 객체의 이름을 넣어주고 사용하게 된다.

 

<input type="text" id="itemName" th:field="*{itemName}" class="formcontrol" placeholder="이름을 입력하세요">

이렇게 줄여 쓸 수 있다. id를 지우면 상관이 없는 빨간 줄이 뜨기 때문에 강사님이 남겨둔 것 같다.

원래는”${item.itemName}”이렇게 적어야 하는데 th:field로 많이 줄여졌다.

 

th:field="*{itemName}"

이 코드 하나로

id="itemName"
name="itemName"
value="itemName"

이 속성들을 자동으로 만들어 준 것이나 다름없다.

이렇게 사용할 수 있는 배경에는 th:object 속성이 있음을 알아야한다.

추가로 th:object와 th:field의 위력은 검증(Validation)에서 나타난다고 하는데 뒤쪽 강의에서 다룬다고 한다.


스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.

반응형

댓글