728x90
모델 1 방식 >>>>>>
- 장바구니 삭제 기능
- 제거 링크가 : "cart_process.jsp?cmd=remove&pno=${car.pno} 임을 확인
- cartProcess.jsp 수정 : 기존의 add기능은 swtich를 써서 안쪽으로 넣음
...<% if(session.getAttribute("cartList") == null) { session.setAttribute("cartList", new ArrayList<ProductDTO>()); } List<ProductDTO> cartList = (List<ProductDTO>)session.getAttribute("cartList"); switch(request.getParameter("cmd")){ case "add": ... case "remove": int pno2 = Integer.parseInt(request.getParameter("pno")); ProductDAO dao2 = new ProductDAO(); cartList.remove(new ProductDTO(pno2)); response.sendRedirect("cart_list.jsp"); break; } %>
- 장바구니에 같은 종류의 상품 추가 시 상품 수량만 변경되도록 설정
- cartProcess.jsp
case "add": int ea = Integer.parseInt (request.getParameter("ea") ); //만약 같은 pno가 있으면 수량만 변경하도록 설정 ProductDAO dao = new ProductDAO(); ProductDTO product = dao.selectOne(new ProductDTO(pno,"","",0,0)); int ind = cartList.indexOf(product); if (ind != -1){ ProductDTO areadyExist = cartList.get(ind); int areEa = areadyExist.getEa()+ea; areadyExist.setEa(areEa); }else{ product.setEa(ea); cartList.add(product); } response.sendRedirect("cart_list.jsp"); break;
- 상품*수량 금액과 총 계산금액은 자바스크립트로 작성되도록 함
<c:forEach var="car" items="${cartList}">
<p>
<c:out value="${car} }"></c:out>
<button onclick="location.href='cart_process.jsp?cmd=remove&pno=${car.pno}'">제거</button>
결제 금액 : <strong class="mini-sum">${car.price*car.ea}</strong>
</p>
</c:forEach>
<hr/>
<h1 class="final-sum">결제 총액 : 0원</h1>
</body>
<script>
let finalsum = 0;
let sumlist = document.querySelectorAll(".mini-sum");
for(let i of sumlist){
finalsum += (i.innerHTML)*1;
} ;
let hsum = finalsum.toLocaleString();
document.querySelector(".final-sum").innerHTML="결제 총액 : "+hsum+"원";
</script>
728x90
'Java > 비트교육센터 과제' 카테고리의 다른 글
09/15 node.js CRUD구현 (0) | 2022.09.15 |
---|---|
09.06 과제 (박스 드래그) (0) | 2022.09.06 |
[09/05] 과제 (javaScript) (0) | 2022.09.05 |
8/23복습 (0) | 2022.08.24 |
[과제1] DAO와 DTO로 jsp에 내용 출력 (0) | 2022.08.18 |
댓글