Spring RedirectAttributes(Spring Controller에서 redirect 하기)

시작하기

스프링 웹 프로젝트를 개발할 때 가끔 컨트롤러에서 다른 컨트롤러로 redirect 처리해야 할 경우가 있다.

Spring Controller에서 redirect 처리하기

간단하게 컨트롤러에서 return 값을 redirect:/경로 로 처리하면 된다.

1
2
3
4
5
6
7
8
9
10
@RequestMapping("/doA")
public String doA() {
logger.info("doA called...");
return "redirect:/doB";
}

@RequestMapping("/doB")
public void doB() {
logger.info("doB called...");
}

Spring Controller에서 redirect 처리시 파라미터 넘기기(RedirectAttributes)

Spring Controller doA에에서 doB 컨트롤러로 리다이렉트 할때 파라미터를 넘겨야 할 경우 RedirectAttributes 를 사용하면된다.

1
2
3
4
5
6
7
8
9
10
11
12
@RequestMapping("/doA")
public String doA(RedirectAttributes rttr) {
logger.info("doA called...");

rttr.addFlashAttribute("msg", "리다이렉트시 전달할 메세지");
return "redirect:/doB";
}

@RequestMapping("/doB")
public void doB(@ModelAttribute String msg) {
logger.info("doB called... msg:"+ msg);
}

doA 컨트롤러에 브라우저 접속시 결과