팀 프로젝트

중간 프로젝트_상품 찜 로직

onivv 2024. 1. 26. 14:40

.jsp

찜 버튼을 클릭했을 때 wishClick() 실행 (매개변수==상품PK)

 

.js

서버로 상품PK 전달

 

.java

유저가 해당 pk 상품을 찜하지 않았다면, selectOne() 리턴값 == null

wDTO를 insert() 후 찜 성공시 V로 1 보내기 (로그아웃 상태면 0 보내기)

유저가 해당 pk 상품을 찜했다면, selectOne()리턴값 != null

wDTO를 delete() 후 찜 취소시 V로 2 보내기 (로그아웃 상태면 0 보내기)

 

.js

서버에서 응답해준 데이터에 따라 아이콘 css 변경

document.querySelectorAll('button.product-btn-'+ppk).forEach(data => {})

  1. 같은 클래스명을 가진 버튼이 페이지에 여러개 존재
  2. querySelectorAll을 사용하여 해당하는 모든 버튼을 선택
  3. forEach를 사용하여 각각의 버튼에 대해 일괄적으로 동작을 수행

.jsp

Controller가 세션에 저장된 사용자의 ID와 searchCondition을 pDTO에 저장

pDTO를 매개변수로 가지는 selectAll()/selectOne() 수행

리턴값으로 나온 배열이나 객체를 View로 전달

 

상품 객체의 wish(찜 상태를 알려주는 멤버변수)에 따라 아이콘 상태 보여주기