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);
Author And Source
이 문제에 관하여(3월 23일 수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qljy22/3월-23일-수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)