728x90




개요. 

어노테이션에 대한 이해와 세션에 대한 이해가 부족하여 발생한 버그이다.


상황.

B수정페이지로 들어갔다가 바로 A수정페이지로 들어갔더니 A수정페이지에 없는 첨부파일이 보여지고 있었다.


원인.

1. 컨트롤러 상단에 @SessionAttributes으로 첨부파일에 대한 세션을 담아놓은 상태

2. 수정페이지를 보여주는 메소드 내에서는 첨부파일데이터가 null일때 모델에 아무것도 담지 않음.

3. 뷰단에서는 첨부파일 모델값이 비어있으니 세션에 있는 값이 보이게되었다.


해결.

컨트롤러의 수정페이지를 보여주는 메소드내에서 첨부파일 데이터가 null일때 빈 첨부파일VO를 모델에 담아 넘겨주었다.

아래는 해결소스의 일부를 각색하였다.

@SessionAttributes({"FileVo"}) 


    ---- 중간 생략 ----


FileVo fileVo = fileService.selectFile(컨텐츠idx);

if( fileVo!= null ) {

    model.addAttribute("FileVO",fileVo);                //fileVO값이 있으면 있는대로 데이터를 넣고,

} else {

    model.addAttribute("FileVO",new FileVo());        //없으면 없는대로 빈 객체를 넣어주었다.

}




728x90

+ Recent posts