본문 바로가기
Java/비트교육센터 과제

[8/24] 장바구니 삭제/추가

by zenna 2022. 8. 24.
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

댓글