게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.
**필수입력사항**
* 고객(업체)명 : LG CNS
* 제품 버전 : 가우스 4.0
* 문의 유형(질문/요청/참조) : 에러 메시지 출력 문제
* 내용 :
JSP 에서 트랜잭션을 수행하여 데이터를 저장하는 로직이 있습니다.
저장 로직을 수행하다가 에러가 발생되면
LBizException 을 호출하여 에러 메시지를 직접 넘겨서 JSP에서 호출합니다.
비지니스(Biz) 단에서 LBizException 을 호출하여 커맨드(Cmd) 단으로 넘겨서 받는데
//biz
throw new LBizException("실패");
//cmd
gauceResponse.writeException("UserMsg", "CMD클래스파일명", e.getMessage ());
throw new LBizException(Constants.MSG_CODE.ERROR_RETRIEVE, e);
//jsp
<script language=JavaScript for=gtrCUD event=onFail>
alert(gtrCUD.SrvErrCode("UserMsg", 0));
</script>
이런식으로 JSP 에서 에러 메시지를 호출해야 하는데.
사용자의 PC에 따라
"CMD클래스파일명" 이라는 메시지가 출력될때가 있고,
"실패" 라는 메시지가 출력될때도 있습니다.
그래서 임시로 gauceResponse.writeException("UserMsg", "CMD클래스파일명", e.getMessage ()); 이 부분을
gauceResponse.writeException("UserMsg", e.getMessage (), e.getMessage ());
이런식으로 변경하여 "실패" 라는 메시지가 출력되게 변경하였습니다.
gauceResponse.writeException("UserMsg", "CMD클래스파일명", e.getMessage ()); 이런식으로 했을때,
특정 PC에서만 "CMD클래스파일명" 이라는 메시지로 출력되는지 알고싶습니다.
|
throw new LBizException 부분은 TR 컴포넌트 Onfaile 이벤트에서 처리할 수 없어 SrvErrCode라는 펑션을 생성하여 UserMsg로 패킷메시지를 받아 처리한 것으로 보이며 이는 개발자가 처리하기 위해 생성한 로직으로 보입니다.
TR 컴포넌트의 OnFail이벤트에서 제공하는 메소드는 gtrCUD.ErrorMsg 와 gtrCUD.ErrorCode입니다.
ErrorMsg와 ErrorCode는 서비스상에서 gauceResponse.writeException으로 보내지는 에러메시지를 출력하게 됩니다.
writeException으로 던져진 메시지만 받기를 원하시면 ErrorMsg와 ErrorCode를 사용하시기 바랍니다.
감사합니다.