똑같은 삽질은 2번 하지 말자
Redirect parameter ? How are you going to spend it? 본문
リダイレクト先へ動的にリクエストパラメータを設定したい場合は、引数のRedirectAttributesオブジェクトに渡したい値を追加する。
@RequestMapping("hello") public String hello(RedirectAttributes redirectAttrs) { String id = "aaaa"; redirectAttrs.addAttribute("id", id); // (1) // must not return "redirect:/sample/hello?complete&id=" + id; return "redirect:/sample/hello?complete"; }
項番説明
@RequestMapping("hello")
public String hello(RedirectAttributes redirectAttrs) {
String id = "aaaa";
redirectAttrs.addAttribute("id", id);
// (1) // must not return "redirect:/sample/hello?complete&id=" + id;
return "redirect:/sample/hello?complete"; }
}
属性名にリクエストパラメータ名、属性値にリクエストパラメータの値を指定して、RedirectAttributesオブジェクトのaddAttributeメソッドを呼び出す。 上記例では、 "/sample/hello?complete&id=aaaa" にリダイレクトされる。 |
Warning
上記例ではコメント化しているが、return "redirect:/sample/hello?complete&id=" + id;と結果は同じになる。
ただし、 RedirectAttributesオブジェクトのaddAttributeメソッドを用いるとURIエンコーディングも行われるので、
動的に埋め込むリクエストパラメータについては、返り値のリダイレクトURLとして組み立てるのではなく、必ずaddAttributeメソッドを使用してリクエストパラメータに設定すること。
動的に埋め込まないリクエストパラメータ(上記例だと”complete”)については、
返り値のリダイレクトURLに直接指定してよい。
'Spring' 카테고리의 다른 글
Spring+JPA REST API 성능 최적화 (0) | 2020.06.13 |
---|---|
@PathVariable 사용해보자(전달인자 처리) (0) | 2020.06.07 |
Jsoup 설치 & Test (0) | 2020.04.16 |
Spring css, js, 이미지 등등 resource 파일 불러올때,(<c:url> 필요성) (0) | 2019.11.19 |
스프링 시큐리티 (0) | 2019.11.18 |