createMemberForm.html안에 <input name="name>태그가 setName과 동일한가
210
작성한 질문수 58
[질문 내용]
createMemberForm.html안에 <input>태그에 name="name"을 HTML 화면 상에 "spring"이라고 등록하면 MemberForm 컨트롤러에서 개체인 name으로 들어오게 된다는 것을 이해 했는데요. 그렇다면 name="name"이 form.setName한거라고 봐도 무방한가요?
답변 2
0
안녕하세요. soojinkimss님, 공식 서포터즈 코즈위버입니다.
네 맞습니다. INPUT 엘리먼트의 각 속성, name="{이름}" value="{값}" 이 DTO와 매핑될 때 setter 를 이용하게 됩니다.
form.set이름(값); 코드가 실행된다고 생각하시면 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. soojinkimss님.
질문 주신 내용은 스프링 MVC에서 HTTP 요청 데이터를 자바 객체로 바인딩하는 방법에 대한 것입니다. \<input name="name"\> 태그의 값이 MemberForm 객체의 속성으로 자동 매핑되는 과정은 스프링의 데이터 바인딩을 통해 이루어집니다.
간단히 설명드리자면, HTML 폼의 입력 필드의 name 속성과 자바 객체의 필드 이름을 동일하게 설정하면, 스프링이 자동으로 폼 데이터를 해당 객체의 필드에 바인딩해 주게 됩니다. 이는 스프링이 폼을 처리하는 과정에서 내부적으로 setName 메서드를 호출하여 입력값을 객체의 필드에 설정하는 방식으로 작동합니다.
따라서, <input name="name"> 부분은 form.setName() 영향을 받는다고 이해하셔도 됩니다. 다만, 이는 스프링의 ModelAttribute와 같은 기능을 통해 자동으로 처리되는 것이기 때문에, 사용자가 명시적으로 setName을 호출하지 않아도 동일한 바인딩 효과를 얻을 수 있는 것입니다.
관련하여 추가적인 설명이 필요한 경우, 아래의 유사한 질문들을 참고하시면 도움이 될 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등
0
91
2
수업자료 오타
0
80
2
HelloSpringApplication.java 클래스 실행 오류
0
90
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
110
1
스프링 부트 버전 질문
0
231
2
인텔리제이 오류
0
181
1
..
0
200
2
Unused property.....
0
219
2
project JDK is misconfigured
0
282
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
161
2
단위/통합 테스트 버전충돌 문제
0
173
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
338
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
183
2
윈도우 build test오류 질문
1
213
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
180
2
테스트 실행 시 에러 질문
0
470
1
name을 통한 비교와 객체를 통한 비교
0
127
1
빌드 후 libs 없음
1
228
1
윈도우 gradlew.bat 에러
0
318
1
@PostMapping("/members/new")가 동작하지 않습니다
0
168
1
java static class와 kotlin class
0
138
1
스프링 DB연결
0
201
1
소요 시간
0
143
2
ddl.sql에 빨간 밑줄
1
182
2





