본문 바로가기
Backend/JSP

상품을 장바구니에 담으면 상품금액이 0으로 뜨는 문제

by 새벽물망초 2022. 3. 25.

문제]

product > view 에서 장바구니 담기 submit 클릭 시, 

shop > cartinfo 로 정보들이 전달되는데 상품금액(cs.money)이 계속 0으로 뜬다

 

 

시도]

1. cartmapper.xml 에 쿼리가 cs_money = cs_cnt * p_price 인 것 확인

 

2. cartmappertest 에서 testInsertSub 단위테스트 시 장바구니에 상품을 제대로 들어갔으며

상품금액도 계산문이 처리된 값(cs_money = cs_cnt * p_price)으로 들어갔다

 

3. 계산은 제대로 되지만, view단에 제대로 뜨지 않는 걸로보아 값이 넘어가는 과정에서 문제가 있음으로 생각함

product > view 의 파일 중 cs_cnt와 장바구니 담기의 submit이 각자 form으로 묶여있었음

cs_cnt와 submit을 같은 폼으로 합체시켜놓으니 cs_cnt가 전달되어 cs_money가 제대로 뜸

(의문인 건 p_price는 전달안했는데 어떻게 계산이 나오는 거지.....)

 

꿉꿉한 해결]

<form method="post" action="/shop/cart">
			 
				<div class="form-group row">
					<div class="col-sm-6 mb-3 mb-sm-0">
					    <img src="/resources/product/${product.p_code}.jpg" height="200">
					</div>
				</div>

				<div class="form-group row">
				    <div class="col-sm-6 mb-3 mb-sm-0">
				    	<label>상품명</label>
				        <input type="text" class="form-control" value="${product.p_name}" readonly>
				    </div>
				</div>
				
				<div class="form-group row">
				    <div class="col-sm-6 mb-3 mb-sm-0">
					    <label>가격</label>
					    <input type="text" class="form-control" value="${product.p_price}" readonly>
				    </div>
				</div>
				
				<select name="cs_cnt">
					<c:forEach var="count" begin="1" end="10" step="1"> 
					 	<option value="${count}">${count}개</option>
					</c:forEach>
				</select>
				
				<div class="form-group row">
				    <div class="col-sm-6 mb-3 mb-sm-0">
						<input type="hidden" name="p_code" value="${product.p_code}">
					    <input type="submit" value="장바구니 담기">
				    </div>
				</div>
				
				<div class="form-group row">
				    <div class="col-sm-6 mb-3 mb-sm-0">
							<input type="hidden" name="p_code" value="${product.p_code}">
					    	<input type="submit" value="바로구매">   
				    </div>
				</div>
			</form>

부분만 form으로 묶는건 아닌거같아서 일단 전체를 form으로 잡아놨는데

보낼필요 없는 정보까지 보내면 데이터 전송 처리 과정에 시간을 오래 잡아 먹진 않는건가

생각이 필요하다 

'Backend > JSP' 카테고리의 다른 글

날짜(date)값을 특정한 형식(format)으로 받는 법  (0) 2022.04.05
페이지네이션  (0) 2022.02.25
0218 오전  (0) 2022.02.18
오답  (0) 2022.02.15
오답노트  (0) 2022.02.15

댓글