결제 후 회원은 마이페이지로 연결, 비회원은 예약조회창으로 연결하는데
비회원일때 연결할 예약조회창을 쿼리스트링으로 연결해봤다.
(pathVariable은 많이 했으니까...쿼리스트링도 한번 해보고싶어서)
pathVariable은 url이 '주소/파라미터값' 형태이고
queryString은 '주소파라미터?=파라미터값' 형태이다
www.sample.com/examle/04 이건 pathVariable
www.sample.com/examle/id?id=04 이런 형태는 queryString
function kakaopay() {
var useridx = $('#useridx').val();
var IMP = window.IMP;
var merchantUid ='merchant_' + new Date().getTime(); //이 변수를 쿼리스트링 파라미터로 사용
IMP.init("imp01440251");
pg: 'kakaopay',
pay_method: 'card',
merchant_uid: merchantUid,
name: '차자조 테스트 결제',
amount: 100,
buyer_email: '${info.email }',
buyer_name: '${info.name }',
buyer_tel: '${info.phoneNumber}',
buyer_addr: '서울특별시 강남구 삼성동',
buyer_postcode: '123-456',
m_redirect_url: '/'
}, function (rsp) {
if (rsp.success) {
var msg = '결제 금액 : ' + rsp.paid_amount +'원';
msg += '카드 승인번호 : ' + rsp.apply_num;
paid(merchantUid); //결제 정보 저장
swal({
title : "예약이 완료되었습니다",
icon : "success",
closeOnClickOutside : false
}).then(function(){
if(useridx == 0) {
location.href='${pageContext.request.contextPath}/nmemPayInfo?merchantUid='+merchantUid;
}else {
location.href='${pageContext.request.contextPath}/member/profile';
}
});
} else {
var msg = rsp.error_msg;
swal("결제가 완료되지 않았습니다",'', {icon: "error"});
}
});
}
location.href='${pageContext.request.contextPath}/nmemPayInfo?merchantUid='+merchantUid;
?뒤에 파라미터이름 + 파라미터값을 적어줬다.
@GetMapping("nmemPayInfo")
public ModelAndView nmemPayInfo(ModelAndView mv, @RequestParam String merchantUid, PaymentReqDto paydto) {
mv.addObject("info", pService.selectNmemPayInfo(merchantUid));
mv.setViewName("reservation/nmemPayInfo");
return mv;
}
GetMapping으로 매핑시켜주고 파라미터값을 RequestParam으로 가져왔다.
reservation 폴더 안에 nmemPayInfo 페이지를 만들어놨다.
public PaymentReqDto selectNmemPayInfo(String merchantUid);
서비스코드
서비스부터 dao, mapper는 생략......
<section>
<div class="content-area single-property" style="background-color: #FCFCFC; text-align:center;">
<div style="padding:50px;">
<h3>예약이 완료되었습니다.</h3>
<div style="width:400px; padding:80px; text-align:left; display:inline-block; font-size:17px;">
<div style="padding:5px;">
예약 번호 : ${info.paymentIdx}
</div>
<div style="padding:5px;">
예약자 : ${info.name}
</div>
<div style="padding:5px;">
결제 금액 : ${info.finalPrice}
</div>
<div style="padding:5px;">
휴대폰 번호 : ${info.phoneNumber}
</div>
<div style="padding:5px;">
이메일 : ${info.email}
</div>
<div style="padding:5px;">
면허 번호 : ${info.license}
</div>
</div>
<div>
<br>예약 조회,취소 시 예약번호· 예약자 이름·전화번호가 필요합니다.
</div>
</div>
</div>
</section>
컨트롤러에서 object설정해줬던 info로 제이쿼리를 사용해 jsp를 만들어줬다
쿼리스트링 파라미터에 값이 잘 들어왔다.
파라미터 값에 따라 jsp 내용이 바뀐다~!
json 으로 java에서 작업하기 (0) | 2024.10.23 |
---|---|
[java] 에러 해결 Cannot deserialize instance of ... out of START_OBJECT token (0) | 2023.11.06 |
[Spring][에러해결] STS 설치 위치 변경 후 lombok 인식 못하는 에러 해결 (0) | 2023.05.03 |
[에러해결] sts 실행 무반응일때, 안켜짐, java was started but returned exit code=1 에러 (0) | 2023.05.01 |
[Spring] deleteMapping데이터 전달이 안되는 오류 (0) | 2023.04.30 |
댓글 영역