책 장바구니에 넣기
장바구니에 또 다시 추가되면 다른 줄로 추가되는 것이 아닌 한 목록으로 추가되게 하기
장바구니 수량 변경하기
book_detail.jsp
하단 장바구니에 담기 버튼 생성
BookVO 객체를 넘겨주기 위해 input type="hidden"으로 book 전체 속성을 전달해준다
inCart 함수를 사용해 ajax로 페이지 이동 없이 alert을 띄워 장바구니에 담기 성공 실패 여부를 전달한다
location.href 를 showcart로 줘서 자동으로 장바구니 페이지로 이동하게 해준다
ShopController.java
svc.toCart 메소드에 book 객체를 전달해 boolean 값을 전달받는다
ShopSVC.java - toCart()
BookVO 객체를 파라미터로 받아 사용한다
session 에 "cart"로 넘어온 값이 null 이면 cart 객체를 담는다
null 이 아니면 session으로 넘어온 값을 Cart 객체로 받아 cart 내장 메소드 add에 book객체를 넣어 그 결과를 반환한다
Cart.java - add()
파라미터로 들어온 book과 새로 생성한 book을 비교해서 기존 들어온 book과 생성한 book이 같으면 책의 제목은 하나로 맞추고 Qty(수량)은 합하여 반환하는 메소드
Cart.java
- getList() : BookVO 값을 받는 list를 반환
- getTotal() : book의 가격과 수량을 곱해서 total을 반환
--> 총 합계 구하기
- updateQty() : 책의 no와 qty를 받아서 book객체에서 가져온 getNo()와 전달받은 no가 같으면 전달받은 qty를 book 의 qty로 set 하는 메소드
--> 장바구니 수량 업데이트 하기
book_showcart.jsp
updateqty 주소로 이동해 장바구니 수량 변경을 수행한다
ShopController.java 에서는 주소를 받아서 requestParam으로 넘어온 no과 qty를 svc.updateQty로 보내 boolean 값을 전달받아 반환한다
수량변경을 선택하면 페이지 이동 없이 한 페이지 안에서 변경이 완료됨
'자바~하둡' 카테고리의 다른 글
mySQL CRUD + rambda (0) | 2022.01.19 |
---|---|
Spring CRUD(report detail) SQL(jdbc) (0) | 2022.01.19 |
Spring C.R.U.D. shopingbag @PathVariable (0) | 2022.01.13 |
Spring C.R.U.D. (Update, Delete) +login (0) | 2022.01.12 |
Spring C.R.U.D. (0) | 2022.01.11 |