3월 23일 수

왼쪽 오른쪽 같은거다.

오른쪽에 뷰가 지정안되있으면 RequestMapping 밸류 값으로 찾게된다.
@모델 어트리뷰트는 setAttribute의 키값.

장바구니 갯수수정은 Ajax로 한다. @ResponseBody를 이용해 .java를 JSON으로 보낼수있다.
GoodsController

@RequestMapping(value="/goodsCartUpdate", method=RequestMethod.GET)
	@ResponseBody
	public List<MemberDTO> goodsCartUpdate(@RequestParam HashMap<String, Integer> map) throws Exception {
		int n  = cService.cartUpdate(map);
		
		MemberDTO dto = new MemberDTO();
		dto.setUserid("aaa");
		dto.setUsername("홍길동");
		
		MemberDTO dto2 = new MemberDTO();
		dto2.setUserid("aaa2");
		dto2.setUsername("홍길동2");
		
		List<MemberDTO> list = Arrays.asList(dto,dto2);
		return list;
	}

cartList

function amountUpdate(num){
		httpRequest = new XMLHttpRequest();
		console.dir(httpRequest);
		
		//요청시 응답처리하는 함수 호출
		httpRequest.onreadystatechange=responseFun;

		
		global_num = num;
		var input_amount = document.querySelector("#cart_amount"+num);
		var amount = input_amount.value;
		var url = `goodsCartUpdate?num=\${num}&gAmount=\${amount}`;
		httpRequest.open("get",url,true);  
		httpRequest.send(null);  
	}	

	function responseFun(){
	    if(httpRequest.readyState==4 && httpRequest.status == 200){
	    	alert("갯수 수정 성공");
	    	/////////
	    	var mesg = httpRequest.responseText;
	    	console.log(">>"+mesg);
	    	var jsonObj = JSON.parse(mesg);
	    	console.log(jsonObj);
	    	////////
	    	var price = document.querySelector("#cart_price"+global_num).innerText;
	    	var amount = document.querySelector("#cart_amount"+global_num).value;
	        document.querySelector("#sum"+global_num).innerText = price * amount;
	    }
	}

이거 추가됨. 텍스트로 받아서 Json객체로 변경후 사용.

var mesg = httpRequest.responseText;
	    	console.log(">>"+mesg);
	    	var jsonObj = JSON.parse(mesg);
	    	console.log(jsonObj);

orderDTO orderDTO는 파라미터인데, 값을 받아오는 동시에 모델이 된다.

orderDTO 파라미터 하나로 이만큼이 사라진다.

String userid = dto.getUserid();
				//상품정보
				String gCode = request.getParameter("gCode");
				String gName = request.getParameter("gName");
				String gPrice = request.getParameter("gPrice");
				String gSize = request.getParameter("gSize");
				String gColor = request.getParameter("gColor");
				String gAmount = request.getParameter("gAmount");
				String gImage = request.getParameter("gImage");
				//배송정보
				String orderName = request.getParameter("orderName");
				String post1 = request.getParameter("post1");
				String addr1 = request.getParameter("addr1");
				String addr2 = request.getParameter("addr2");
				String phone = request.getParameter("phone");
				//결제정보
				String payMethod = request.getParameter("payMethod");
				
				//cart에서 삭제할 num
				String cartNum = request.getParameter("cartNum");
				
				
				OrderDTO orderDTO = new OrderDTO();
				orderDTO.setUserid(userid);
				orderDTO.setgCode(gCode);
				orderDTO.setgName(gName);
				orderDTO.setgPrice(Integer.parseInt(gPrice));
				orderDTO.setgSize(gSize);
				orderDTO.setgColor(gColor);
				orderDTO.setgAmount(Integer.parseInt(gAmount));
				orderDTO.setgImage(gImage);
				orderDTO.setOrderName(orderName);
				orderDTO.setPost(post1);
				orderDTO.setAddr1(addr1);
				orderDTO.setAddr2(addr2);
				orderDTO.setPhone(phone);
				orderDTO.setPayMethod(payMethod);

좋은 웹페이지 즐겨찾기