inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 등록

createMemberForm.html안에 <input name="name>태그가 setName과 동일한가

194

soojinkimss

작성한 질문수 58

0

[질문 내용]

createMemberForm.html안에 <input>태그에 name="name"을 HTML 화면 상에 "spring"이라고 등록하면 MemberForm 컨트롤러에서 개체인 name으로 들어오게 된다는 것을 이해 했는데요. 그렇다면 name="name"이 form.setName한거라고 봐도 무방한가요?

java spring mvc spring-boot

답변 2

0

나무늘보

안녕하세요. soojinkimss님, 공식 서포터즈 코즈위버입니다.

네 맞습니다. INPUT 엘리먼트의 각 속성, name="{이름}" value="{값}" 이 DTO와 매핑될 때 setter 를 이용하게 됩니다.

 

form.set이름(값); 코드가 실행된다고 생각하시면 됩니다.

 

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. soojinkimss님.

질문 주신 내용은 스프링 MVC에서 HTTP 요청 데이터를 자바 객체로 바인딩하는 방법에 대한 것입니다. \<input name="name"\> 태그의 값이 MemberForm 객체의 속성으로 자동 매핑되는 과정은 스프링의 데이터 바인딩을 통해 이루어집니다.

간단히 설명드리자면, HTML 폼의 입력 필드의 name 속성과 자바 객체의 필드 이름을 동일하게 설정하면, 스프링이 자동으로 폼 데이터를 해당 객체의 필드에 바인딩해 주게 됩니다. 이는 스프링이 폼을 처리하는 과정에서 내부적으로 setName 메서드를 호출하여 입력값을 객체의 필드에 설정하는 방식으로 작동합니다.

따라서, <input name="name"> 부분은 form.setName() 영향을 받는다고 이해하셔도 됩니다. 다만, 이는 스프링의 ModelAttribute와 같은 기능을 통해 자동으로 처리되는 것이기 때문에, 사용자가 명시적으로 setName을 호출하지 않아도 동일한 바인딩 효과를 얻을 수 있는 것입니다.

관련하여 추가적인 설명이 필요한 경우, 아래의 유사한 질문들을 참고하시면 도움이 될 것입니다:

  1. SetName 질문입니다.
  2. input type name = name이 MemberForm에 String name 객체에 왜 주입되는지 모르겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

..

0

76

2

Unused property.....

0

99

2

project JDK is misconfigured

0

132

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

83

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

230

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

103

2

윈도우 build test오류 질문

1

102

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

99

2

테스트 실행 시 에러 질문

0

291

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

129

1

윈도우 gradlew.bat 에러

0

167

1

@PostMapping("/members/new")가 동작하지 않습니다

0

89

1

java static class와 kotlin class

0

79

1

스프링 DB연결

0

126

1

소요 시간

0

87

2

ddl.sql에 빨간 밑줄

1

102

2

welcome page 에러

0

183

3

잘 모르겠습니다.

0

164

2

fail을 똑같이 쳤는데 오류가 발생해요

0

156

2

index.html Welcome page

0

124

1

프로젝트 gradle-groovy ?

0

369

1

테스트코드 메서드명 한글

0

202

2