안녕하세요.
controller에서 ajax로 들어온 요청 처리 후에
제가 작성한 걸로는 return 하기 전에 printwrite 로 alert 을 시켜주고
return 시 데이터를 넘기는 부분에서 오류가 납니다.
그런데 해당 오류를 찾아보니 getWrite()를 중복해서 사용 할수 없다 ?
라고 하는데 그러면 다른 해결 방안이 있을까요 ..?
오류 문구는
java.lang.IllegalStateException: getWriter() has already been called for this response
이렇습니다.
@PostMapping("/barcodeIn.do")
@ResponseBody
public String barcodeIn(wmsInVO inVO, wmsIn entity,Model model,HttpServletResponse response) throws Exception{
//저장 프로시저 호출
String msg = getProcedureInsert(inVO);
System.out.println("msg = "+ msg);
//조회 프로시저 호출
String json = getProcedureSearch(inVO,entity);
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
if(msg.equals("-1")) {
out.println("<script>alert('이미 입고 처리 되었습니다.');</script>");
}else if(msg .equals("-2")) {
out.println("<script>alert('입고 처리중 오류입니다.');</script>");
}else if (msg.equals("-3")) {
out.println("<script>alert('존재하지 않은 바코드 입니다.');</script>");
}
out.flush();
return json;
}
자바 에서 @ResponseBody 랑 getWriter() 이랑 충돌이 일어 나는거 같은데
그럼 저 alert 문구를 띄워 주면서 할수 있는 다른 해결 방안이 있을까요 ?