로그인을 만들면서 forward할 경우 url전달 문제로 redirect로
만들기 위해 찾아보다가 session을 활용한 RedirectAttributes를 찾을 수 있었다. 스프링 3.x버전부터 사용가능한데 URL에 붙는 에러메시지가 싫어서 alert으로 띄우기 위해 찾아보았다.
@RequestMapping(value = "/admin/login.do")
public String loginUsrView(HttpServletRequest request, Model model) throws Exception {
Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
if(null != inputFlashMap) {
String message = String.valueOf(inputFlashMap.get("message"));
model.addAttribute("message", message);
}
return "admin/login/login";
}
@RequestMapping(value = "/admin/login/login.do")
public String actionLogin(@ModelAttribute("loginVO") LoginVO loginVO,
HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) throws Exception {
.
.
.
생략
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "redirect:/homeadmin/login.do";
}