1
Spring 및 Hibernate를 사용하여 한 번에 여러 레코드를 내 데이터베이스 (sql-developer)에 저장/업데이트하려고합니다. 내 컨트롤러를 통해, DAO로, DAO로, AHAX 호출을 통해 내 데이터를 전달하고 Hao 객체 목록을 반복하고 db에 있는지 여부를 결정한 다음 새 레코드 또는 업데이트를 저장합니다. 현재 기록. 일단이 루프 (성공적으로 보이는 것)를 통과하면 페이지에 403 오류 및 경고가 표시됩니다. Eclipse의 스택 추적에 오류가 없습니다. 나는 403 오류를 받고 있어요 왜 알아 내기 위해 노력했습니다403 데이터베이스에 저장하려고 할 때 금지됨
@RequestMapping(value = "/saveLimXrefHvo.do", method = RequestMethod.PUT,
consumes="application/json")
public void saveLimXrefHvo(@JsonParam(innerType=LimitXrefHvo.class)
List<LimitXrefHvo> limitXrefHvoList) throws JsonParseException,
JsonMappingException, IOException {
limitService.saveLimXrefHvo(limitXrefHvoList);
}
: 여기
내 컨트롤러 방법이다function saveLimXrefHvo(){
var list = [];
//declare variables for the data pieces
$('#limAssigned li').each(function (index, li) {
var cdeBusUnit = $('select[name="cde_bus_unit"]').val();
var cdeRatingPlan = $('select[name="cde_rating_plan"]').val();
var cdeLimit = $(this).attr('id');
var txtLimitRptOcc = $('#textOcc').val();
var txtLimitRptCm = $('#textCM').val();
var uidMod = $('#saveRTnumberLimXref').val();
var numSortOrder = (index + 1);
//put the variables in the JSON object
var JSONObject = {
"cdeBusUnit" : cdeBusUnit,
"cdeRatingPlan" : cdeRatingPlan,
"cdeLimit" : cdeLimit,
"txtLimitRptOcc" : txtLimitRptOcc,
"txtLimitRptCm" : txtLimitRptCm,
"uidMod" : uidMod,
"numSortOrder" : numSortOrder
};
list.push(JSONObject);
});
var dat = JSON.stringify(list);
$.ajax({
type : 'PUT',
url : 'saveLimXrefHvo.do',
contentType : 'application/json',
data : dat,
success : function(){
alert("This record has been successfully saved.");
}
});//end ajax
} : 다음
내 자바 스크립트입니다 오늘 아침. 나는 별도의 삭제 및 분리 내 루프의 "다른"부분에 별도의 DAO 방법을 변경 시도하고 그 작동하지 않았다. 누군가는 컨트롤러 메소드에 "소비"를 추가 할 것을 제안했습니다. 그것도 작동하지 않았다. 나는 제안, 생각, 질문에 열려 있습니다. 미리 감사드립니다!
예 (I 추가는 = "응용 프로그램/JSON"생산). 그것이 바로 그 것이었다. 내 js dataType 응용 프로그램/json을 추가하고 다음과 같이 응답 맵을 만들었습니다. \t \t ResponseMap responseMap = new ResponseMap(); \t \t responseMap.put ("success", true); \t \t responseMap.put ("message", "이 레코드가 성공적으로 저장되었습니다."); –
실제로 이것은 더 좋습니다 : return new ResponseMap ("이 레코드는 성공적으로 저장되었습니다."); –
응답 본문이 필요하지 않은 경우 해당 메서드에 @ResponseStatus (HttpStatus.NO_CONTENT) 주석을 달아 주면 성공을 나타내는 HTTP 204를 반환하지만 본문은 표시되지 않습니다. – Jukka