Spring Framework
Spring Boot Request 파라미터 숨기기
sebastiano
2025. 2. 15. 20:47
RedirectAttributes는 FlashAttributes를 내부적으로 사용하여 리다이렉트 후에도 데이터를 유지할 수 있도록 합니다. 이를 활용하여 데이터를 전달하고 조회하는 예제는 다음과 같습니다.
Controller RedirectAttributes
Controller 에서 RedirectAttributes 로 데이터 전달
@Controller
@RequestMapping("/example")
public class ExampleController {
@GetMapping("/redirect")
public String redirectWithAttributes(RedirectAttributes redirectAttr) {
redirectAttr.addFlashAttribute("message", "리다이렉트 성공!");
redirectAttr.addFlashAttribute("status", "success");
return "redirect:/example/target";
}
@GetMapping("/target")
public String targetPage(@ModelAttribute("message") String message,
@ModelAttribute("status") String status,
Model model) {
model.addAttribute("receivedMessage", message);
model.addAttribute("receivedStatus", status);
return "target"; // target.ftl 또는 target.html
}
}
실행 흐름
- "/example/redirect" 로 요청하면 "redirectAttr" 을 통해 "message" 와 "status" 값을 설정하고 "/example/target" 으로 리다이렉트
- "/example/target" 에서 "@ModelAttribute"를 사용하여 전달된 값을 조회 한 후 view 에서 값 출력
View ftl 에서 조회
<!DOCTYPE html>
<html>
<head>
<title>Redirect Target</title>
</head>
<body>
<h1>Redirect 결과</h1>
<p>Message: ${receivedMessage}</p>
<p>Status: ${receivedStatus}</p>
</body>
</html>