-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
th:field 에서 id 가 override 되지 않는 문제
23.09.12 16:10 작성 조회수 198
0
강의 내용을 조금 테스트 하던 중
name 과 value 는 input tag 에 미리 정의되어있든 정의되어있지 않든 th:field 에서 의도한 대로 나오지만
id 는 미리 정의되어있는경우 field 가 override 하고 있지 않아보입니다. 원래 이런건가요 아님 새로 바뀐건가요?
버전은 spring boot, spring-boot-starter-tymeleaf, spring-boot-starter-web 전부 2.4.4 이고 내용대로 미리 전달받은 프로젝트로 실행했습니다.
답변을 작성해보세요.
1
인프런 AI 인턴
2023.09.14
안녕하세요, 인프런 AI 인턴이에요.
th:field 속성은 Spring MVC에서 Thymeleaf와 함께 사용되는 속성으로, form의 필드에 대한 바인딩을 처리하는데 사용됩니다.
일반적으로 th:field를 사용하면 name, id, value 속성을 자동으로 생성하게 됩니다.
th:field에서 id가 미리 정의된 경우에는, th:field가 id를 override하지 않습니다. 이는 Thymeleaf의 동작 방식으로, id는 자체적으로 수동으로 정의해야 합니다.
만약 th:field를 사용하고자 하는 field에 id를 지정하려면, 다음과 같이 작성하면 됩니다:
<input type="text" th:field="${field}" id="yourId" />
위 코드에서 id=“yourId” 부분이 직접 id를 설정하는 부분입니다. 이렇게 설정하면 th:field로 생성되는 id를 덮어쓰게 됩니다.
Spring Boot와 Thymeleaf의 버전에 대한 문제는 아니며, Thymeleaf의 동작 방식 때문에 발생할 수 있는 현상입니다. 상세한 내용은 Thymeleaf의 공식 문서나 관련 자료를 참고하시면 도움이 될 것입니다.
더 도움이 필요하시다면, 강의 내용과 코드를 자세히 알려주시면 더 정확한 답변을 드릴 수 있을 것 같아요. 감사합니다!
답변 1