
// 선택 삭제
@RequestMapping(value = "/deleteMyBookMarkList.do", method = RequestMethod.POST)
public String deleteMyBookMarkList(HttpSession session, @RequestBody String checkedValArray) throws Exception{
// 제이슨으로 객체에 담기
JSONObject jsonObject = new JSONObject(checkedValArray);
// 제이슨 객체에 있는거 배열로 바꾸기
JSONArray checkedVal = jsonObject.getJSONArray("checkedVal");
// 배열에 담기
List<Integer> checkedVals = new ArrayList<>();
// 하나씩 빼보기
for (int i = 0; i < checkedVal.length(); i++) {
checkedVals.add(checkedVal.getInt(i));
}
// 리스트에 잘 들어 갓나 확인.
for(int asd:checkedVals) {
System.out.println("리스트에 잘 들어갔니? " + asd);
}
// 세션에서 아이디 가져오고 맵에 선택한 글 번호들과 아이디 저장
Map<String, Object> deleteBookMark = new HashMap<>();
MemberDomain memberDomain = (MemberDomain) session.getAttribute("member");
String memberId = memberDomain.getMemberId();
deleteBookMark.put("memberId", memberId);
deleteBookMark.put("checkedVals", checkedVals);
bookMarkService.deleteMyBookMarkList(deleteBookMark);
return "/mypage/bookmark/bookMarkList";
}
// 북마크 선택 삭제
@Override
public void deleteMyBookMarkList(Map<String, Object> deleteBookMark) throws Exception {
bookMarkDAO.deleteMyBookMarkList(deleteBookMark);
}
BookMarkDAOImpl
// 선택 삭제
@Override
public void deleteMyBookMarkList(Map<String, Object> deleteBookMark) throws DataAccessException {
sqlSession.delete("mapper.bookMark.deleteMyBookMarkList", deleteBookMark);
}
<!-- 체크 박스 북마크 제거 -->
<delete id="deleteMyBookMarkList" parameterType="Map">
DELETE FROM bookMark
WHERE memberId = #{memberId} AND articleNo IN
<foreach item="articleNo" collection="checkedVals" open="(" separator="," close=")">
#{articleNo}
</foreach>
</delete>
function checkDelete(){
// 해당 아이디에 있는 모든 체크 박스 선택
var checkBoxs = $("#checkArea > *");
var checkedVal = [];
// 체크 되었는지 확인.
for (var i = 0; i < checkBoxs.length; i++){
if(checkBoxs[i].checked){
// 배열에 값들을 밀어 넣기.
checkedVal.push(checkBoxs[i].value);
}
}
if (checkedVal.length > 0) {
$.ajax({
url: '/gami/mypage/bookmark/deleteMyBookMarkLists.do',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ checkedVal: checkedVal }),
success: function() {
alert("삭제가 완료 되었습니다.");
location.reload();
},
error: function() {
alert("오류가 발생하였습니다. 다시 시도해 주세요.");
}
});
} else {
alert("체크된 항목이 없습니다.");
}
};
function checkAll() {
var checkBoxs = $("#checkArea > *");
var checkBoxAll = $("#checkAll").is(":checked");
if (checkBoxAll) {
checkBoxs.prop("checked", true);
} else {
checkBoxs.prop("checked", false);
}
}