• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

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

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 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의 공식 문서나 관련 자료를 참고하시면 도움이 될 것입니다.

더 도움이 필요하시다면, 강의 내용과 코드를 자세히 알려주시면 더 정확한 답변을 드릴 수 있을 것 같아요. 감사합니다!