jQuery Ajax를 통해 전송된 데이터를 Controller에서 List 객체로 받기
아래는 체크박스를 선택하여 jQuery를 통해 대상 항목들을 List
html 부분
<div id="facilitiesInfoFileListDiv">
<div class="checkbox">
<input id="atchFileIdList0" name="fileSn" value="2" type="checkbox">
<label for="atchFileIdList0">mou.jpg</label>
</div>
<div class="checkbox">
<input id="atchFileIdList1" name="fileSn" value="3" type="checkbox">
<label for="atchFileIdList1">korea.png</label>
</div>
</div>
<div class="overflow-hidden">
<a href="javascript:void(0)" id="deleteFacilitiesInfoFileBtn" class="btn btn-default btn-delete pull-right">선택삭제</a>
</div>
jQuery 부분
/**
* 파일 삭제 버튼을 누르면
*/
$('#deleteFacilitiesInfoFileBtn').click(function() {
//등록할지 물어보기
if (!confirm('사진을 삭제하시겠습니까?')) {
return false;
}
//매개변수값 정리 : @RequestBody List fileVOList로 담기위한 사전 작업
var arr = new Array();
var obj = null;
$('#facilitiesInfoFileForm input[name="fileSn"]:checked').each(function(i) { //check 된값 배열에 담기
obj = new Object();
obj.atchFileId = $('#facilitiesInfoFileForm input[name="atchFileId"]').val();
obj.fileSn = $(this).val();
arr.push(obj);
});
//입력값 전송
$.ajax({
url : contextPath+'/mgr/main/deleteFacilitiesInfoFile.ajax',
type : 'POST',
data : JSON.stringify(arr),
dataType : 'json',
contentType : 'application/json; charset=UTF-8',
success : function(result) {
//console.log("result : "+JSON.stringify(result));
//console.log("message : "+result.message );
alert(result.message);
},
error : function(request,status,error) {
//console.log("code:"+request.status+"\n\n"+"message:"+request.responseText+"\n\n"+"error:"+error);
//alert($(request.responseText.replace(/(\r\n|\n|\r)/gm,"")).text());
alert("처리에 실패하였습니다.\ncode:"+request.status+"\n"+"error:"+error);
},
complete : function() {
selectFacilitiesInfoFileList(); //시설정보 파일목록 새로 불러오기
}
});
});
JAVA 부분
/**
* 이후 컨트롤러에서 해당 리스트를 받을 수 있었다
*/
@RequestMapping("/mgr/main/deleteFacilitiesInfoFile.ajax")
public @ResponseBody Map deleteFacilitiesInfoFile(@RequestBody List fileVOList) throws Exception {
LOGGER.debug("fileVO.getFileVOList().size():"+fileVOList.size());
fileMngService.deleteFileInfs(fileVOList);
Map result = new HashMap();
result.put("message", egovMessageSource.getMessage("success.common.delete"));
return result;
}