inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 등록 처리 - @ModelAttribute

ModelAttribute 질문있습니다.

235

d1215

작성한 질문수 28

2

View 와 Controller 사이에서 ModelAttribute 로 데이터를 주고 받는 부분에 질문이 있습니다.

VIew 에는 아래와 같이 Input 들어 있는 예제가 있습니다.

<div>
<label for="itemName">상품명</label>
<input type="text" id="itemName" name="itemName" class="form-control"
value="상품A" th:value="${item.itemName}" readonly>
</div>
<div>
<label for="price">가격</label>
<input type="text" id="price" name="price" class="form-control"
value="10000" th:value="${item.price}" readonly>
</div>
<div>
<label for="quantity">수량</label>
<input type="text" id="quantity" name="quantity" class="form-control"
value="10" th:value="${item.quantity}" readonly>
</div>

 

submit 이 트리거가 되면 아래 action 이 수행이 됩니다.

<form action="item.html" th:action="@{/basic/items/add}" method="post">

 

그렇게 되면

Controller 에서 다음과 같이 파라미터를 ModelAttribute 로 받을수 있다고 배웠습니다.

public String addItemV3(@ModelAttribute Item item) {
itemRepository.save(item);
return "basic/item";
}

 

여기서 질문이 있습니다.

사실상 어떤 객체든 필드명만 같다면 꼭 Item 이 아니어도
사용이 가능한걸로 알고 있는데

1. 이것도 메세지 컨버터가 필드 이름만 보고 setter 를 이용해 데이터를 알아서 넣어준다고 생각하면 될까요?

즉 어떤 객체든 상관없이 필드에 

itemName, price, quantity 만 있으면 문제가 없는거죠?

 

modelattribute MVC spring

답변 1

0

OMG

안녕하세요. d1215님, 공식 서포터즈 OMG입니다.

네 맞습니다, 객체 타입과 상관 없이 HTML의 name =""에 해당하는 필드를

파라미터로 @ModelAttribute Item item 혹은 화면단의 name필드를 가진 객체가 있다면 해당 객체에도 프로퍼티 바인딩이 발생합니다.

 

감사합니다.

0

d1215

감사합니다.

servlet과 container에 대한 질문입니다

0

20

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

62

1

jsp 의존성 수정 요청

0

75

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

142

1

save() 메서드 문의

0

65

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

99

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

94

1

RequestMapping을 이용한 핸들러, 어댑터

0

118

2

save 후 결과화면

0

86

2

jsp를 이용한 view

0

97

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

174

1

수업 코드 제공 관련 문의

0

96

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

98

3

파일 오픈 시

0

68

1

스프링 배치 관련

0

77

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

112

1

postman으로 /request-body-json-v1 호출시 500 error

0

94

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

77

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

111

1

console log 출력 관련 질문입니다.

0

73

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

137

1

html 변경하는 부분 적용 문제

0

100

1

한글 깨짐

0

76

2