나의질문답

팝업을 띄워야 하는데 조건을 주고 싶습니다.

예쁜꽃이피었으면 2015. 11. 2. 10:13

http://okky.kr/article/291044



안녕하세요~


버튼을 누르면 컨트롤러로 이동합니다.

그리고 

ModelAndView mav = new ModelAndView("팝업창 경로");

try {   ....

if(...)){   ....

List<MypageDto> AList = mypageService.getList(mypageDto); // 필요한 값을 가져옵니다.

if(!AList.isEmpty()){

mav.addObject("AList", AList);

}

else{

     String message = "값이 없습니다. 상세 페이지로 이동합니다.";

     redirectView(mav, message);

           //redirectView(mav, " 없습니다.", getReferer(request));

         }

}else{

throw new Exception("ERROR.SESSION.FAIL");

}

} catch (Exception e) {

log.debug(e.getMessage());

redirectView(mav, e.getMessage(), getReferer(request));

}

if(log.isDebugEnabled())log.debug("[END] " + this.getClass().getName() + ".selectResumePop()");

return mav;

}



이런 식으로 되어 있습니다..

근데 AList값이 없을 때는 팝업창을 띄우지 않고 현재페이지에 다시 돌아오려고 합니다.

값이 없다는 메시지를 띄워주는 부분을 비워놔도 팝업창은 뜨더라고요..(초록색 부분)

어떻게 해야 값이 있을 때만 팝업창을 띄울 수 있을까요..?

if(AList.isEmpty()){

redirectView(mav, "없습니다.", getReferer(request));} 이런식으로

순서를 바꿔서 없을 때 먼저 걸러내 보려고 했지만.. 메시지창도 뜨고 팝업창도 뜨더라고요..

( 주석으로 막아 둔것처럼 하면 값이 없다는 메시지도 뜨고 확인을 누르면 팝업창도 뜹니다;

앞에 mav라고 적어서 그런 것 같긴한데요....)


답변부탁드리겠습니다..




public void redirectView(ModelAndView mav, String message, String forward) {

redirectView(mav, message, forward, null);

}

아! redirectView(mav, 메시지, 출력후보낼페이지)입니다. 




헉ㅋㅋㅋ 정의를 부탁드린건 내부 동작이 어떻게 되는건가 짐작이 안돼서 그런건데 랩핑용 메소드를 보여주시다니!

그 내부의 오버로딩된 redirectView도 보여주세요!

만약 그 메소드도 오버로딩된거면 뭔가 로직이 나오는 부분을 보여주세요 ㅋㅋ




답변 감사합니다.

문제는 크롬과 ie에서 수행순서에 차이가 있는 듯 싶습니다.

더 보고 다시 질문드리겠습니다.

반응형