Written on
·
201
0
1. "/orders" 컨트롤러 동작
일단 /orders 페이지 요청이 들어오면 @ModelAttribute로 요청파라미터값들을 OrderSearch 로 바인딩하고, 이 객체 인스턴스 orderSearch를 모델에 넣어서 orderList 템플릿에 전달된다.
2. orderList.html 템플릿 동작
모델의 객체 데이터인 orderSearch의 데이터로 form태그들을 구성하고, 검색버튼을 눌렀을 때 form태그의 데이터들이 GET 방식으로 전송된다.
3. "/orders" 컨트롤러 동작
회원명과 주문상태 데이터가 들어있는 OrderSearch로 요청파라미터값들을 바인딩, 객체 인스턴스 orderSearch를 모델에 넣어서 orderList 템플릿에 전달.
1->2->3 이런식으로 진행되는 것 같은데 처음에 데이터가 없는 상황에서 1번에서는 HTTP 요청 파라미터에는 아무런 값들이 없는데 orderList에서 form태그들을 어떻게 구성할 수 있는지 궁금합니다.
Answer 1
0
안녕하세요. km54277님, 공식 서포터즈 OMG입니다.
올려주신 글을 @ModelAttribute OrderSearch orderSearch 때문에 헷갈려하시는거 같아요,
처음 주문 조회 페이지(/orders)를 접속하게 되면 검색 조건은 없이 주문한 조회에 한해서 데이터들이 뿌려집니다.(전체 조회 데이터)
이 때 OrderSearch에 대한 로그를 보시면 OrderSearch 객체는 메모리 주소를 참조하고 있지만, 어떠한 값도 들어있지 않는 것을 확인하실 수 있습니다.
---
이제 검색 조건을 추가하여 조회해보면,
조회 조건이 추가되어 바인딩이 일어나는 것을 확인하실 수 있으며
위의 이미지와 같은 요청이 발생한 것을 확인하실 수 있습니다.
(크롬 - f12버튼 - Network탭)
감사합니다.