업데이트 후 메세지 질문
- 작성자 :
- 남*관
- 작성일 :
- 2014-03-20 11:30:17
- 조회수 :
- 609
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
업데이트가 완료 되었습니다라는 메세지를 띄우고 싶습니다
업데이트 로직에서
model.addAttribute("result", "success");
result값을 success로 셋팅 후
다시 게시판 리스트로 돌아가 게시판 메인 화면에서
result값이 true일때 업데이트가 완료되었습니다 라는 메세지가 뜨게끔 만들었는데요
문제는..업데이트 후 forward로 하여 게시판 리스트를 불러오면
result값은 화면에 잘전해지는데...
url이 update.do가 그대로 남아 리플레쉬 하면 다시 업데이트 됩니다..
redirect로 하여 url을 바꾸면
업데이트 후 셋팅한
model.addAttribute("result", "success");가 안넘어갑니다
업데이트 --> 완료 --> 리다이렉트 list.do -->게시판 메인(result값이 전달안됩니다)
업데이트 --> 완료 --> forward list.do -->게시판 메인(result값이 전달됩니다)--> url이 변하지 않습니다.
업데이트 로직에서
model.addAttribute("result", "success");
result값을 success로 셋팅 후
다시 게시판 리스트로 돌아가 게시판 메인 화면에서
result값이 true일때 업데이트가 완료되었습니다 라는 메세지가 뜨게끔 만들었는데요
문제는..업데이트 후 forward로 하여 게시판 리스트를 불러오면
result값은 화면에 잘전해지는데...
url이 update.do가 그대로 남아 리플레쉬 하면 다시 업데이트 됩니다..
redirect로 하여 url을 바꾸면
업데이트 후 셋팅한
model.addAttribute("result", "success");가 안넘어갑니다
업데이트 --> 완료 --> 리다이렉트 list.do -->게시판 메인(result값이 전달안됩니다)
업데이트 --> 완료 --> forward list.do -->게시판 메인(result값이 전달됩니다)--> url이 변하지 않습니다.
A
안녕하세요. 표준프레임워크센터입니다.
업데이트 완료 시 forward로 전달하면 url이 변하지 않으므로 redirect로 view를 호출하셔야 하는 것이 맞습니다.
또한 redirect로 호출하면 request의 값들이 모두 날아가기 때문에 request에서 아무리 값을 꺼내려해도 없을겁니다..
Spring에서는 redirect로 호출했을 때, model에 있는 값들을 꺼내서 url로 같이 전송해줍니다.
public String someMethod(Model model) {
model.addAttribute("result", "success");
return "redirect:/someUrl";
}
을 쓰시면 (ViewResolver를 UrlBasedViewResolver로 썼다고 가정했을때)
someUrl?result=success로 url이 호출되어 화면에서 result를 꺼내실 수 있을 겁니다.
감사합니다.
업데이트 완료 시 forward로 전달하면 url이 변하지 않으므로 redirect로 view를 호출하셔야 하는 것이 맞습니다.
또한 redirect로 호출하면 request의 값들이 모두 날아가기 때문에 request에서 아무리 값을 꺼내려해도 없을겁니다..
Spring에서는 redirect로 호출했을 때, model에 있는 값들을 꺼내서 url로 같이 전송해줍니다.
public String someMethod(Model model) {
model.addAttribute("result", "success");
return "redirect:/someUrl";
}
을 쓰시면 (ViewResolver를 UrlBasedViewResolver로 썼다고 가정했을때)
someUrl?result=success로 url이 호출되어 화면에서 result를 꺼내실 수 있을 겁니다.
감사합니다.