반응형
타임리프 입력 폼 처리
폼 코드를 타임리프의 추가 기능을 통해 효율적으로 개선할 수 있다.
강의에서 몇 가지 주요 코드를 사용했는데 아래와 같다.
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편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : 타임리프 체크 박스 단일(2) (0) | 2022.02.08 |
---|---|
[Spring Boot] : 타임리프 체크 박스 단일(1) (0) | 2022.02.08 |
[Spring Boot] : 타임리프 스프링 통합 메뉴얼 및 스프링에서 사용하기 (0) | 2022.02.08 |
[Spring Boot] : 타임리프 템플릿 레이아웃(2) (0) | 2022.02.07 |
[Spring Boot] : 타임리프 템플릿 레이아웃(1) (0) | 2022.02.07 |
댓글