createForm 관련 질문
284
작성한 질문수 4
수업내용에서 item 등록 하고 조회 할때 create는 상품을 등록하는 코드인데
처음에 사용되는 createForm 코드는 어떤 코드인가요? 처음에 해당 컨트롤을 읽을때 createForm 코드가 자동으로 실행되는건가요? 만약 실행된다면 어떤 원리로 이게 바로실행되는건지 답변부탁드립니다. ㅠㅠ 강의열심히 보았는데 이해가 안되어서요 ㅠ 타임리프가 뭔가 처음에 이걸실행하는건지 ㅠㅠ
/*???*/
public String createForm(Model model) {
model.addAttribute("form", new BookForm());
return "items/createItemForm";
}
/* 상품등록 */
@PostMapping(value = "/items/new")
public String create(BookForm form) {
Book book = new Book();
book.setName(form.getName());
book.setPrice(form.getPrice());
book.setStockQuantity(form.getStockQuantity());
book.setAuthor(form.getAuthor());
book.setIsbn(form.getIsbn());
itemService.saveItem(book);
return "redirect:/items";
}
답변 1
0
안녕하세요. 김민성님, 공식 서포터즈 OMG입니다.
createForm는 스프링MVC가 생성하고 값을 세팅해줍니다! 이 부분은 영한님의 스프링MVC1편 강의에서 자세히 설명해주시는데요:)
간략히 이해하시기 쉽게 설명드리면 HTML의 태그 속성 중 name으로 지정한 이름과 자바 클래스의 필드명이 동일하고, 동일한 필드의 getter, setter로 바인딩이 동작하여 createForm에 화면에서 입력한 값들이 저장됩니다.
화면에서 입력하여 서버로 전송하기 위한 기준이 필요한데, 이를 화면은 name속성으로, 자바에서는 객체의 필드이름으로 동일할 경우 동작한다고 이해하시면 될 것 같아요 ^^
설명드린 내용을 이해한대로 한번 자바 클래스와 HTML 태그의 name="" 부분을 변경해가면서 어떻게 동작하는지 확인해보시는 것도 좋은 학습 방법이라 생각합니다 :)
감사합니다.
sdk 설정 오류
0
55
2
오탈자 - @Transactional
0
56
1
src/test/resources 테스트 경로 문제
0
50
1
상품 등록후 H2 db 출력 순서 바꿀 수 있나요?
0
64
1
MemberRepositoryTest 실행오류
0
81
1
boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)
1
184
2
강의 마지막 QueryDSL 사용 부분 질문있습니다
1
142
2
클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.
0
52
1
도메인 모델 패턴 vs 트랜잭션 스크립트 패턴
0
72
1
기본 생성자
0
61
1
h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.
0
103
1
멤버서비스테스트 부분에서 막힙니다.
0
166
4
실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?
0
116
1
초반에 h2 다운로드 과정 꼭 필요한가요?
0
120
2
자신 필드에도 get으로 접근하는 이유가 있을까요?
0
114
1
24분 27초 연관관계 편의 메서드 위치
0
113
1
단건 주문만 가능하게 한건 의도한 부분이신가요?
0
109
2
빌드 툴, Gradle
0
59
1
h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다
0
77
2
Repository에서 EntityManager 주입 방식 차이
0
90
1
롬복과 사용자 정의 setter 메서드
0
73
1
주문 목록 조회 fetch join 질문드립니다
0
82
1
dirty checking 질문드립니다.
0
83
1
동시성 관련 질문입니다
0
75
1





