5

呼び出されたときに別の URL にリダイレクトする URL があります。リダイレクトとともにいくつかのデータを渡したいと思います。

たとえば、私はこの方法を持っています:

@RequestMapping("efetuaEnvioEmail")
    public String efetuaEnvioEmail(HttpServletResponse response) throws IOException {
        System.out.println("efetuaEnvioEmail");
        return "redirect:inicio";
    }

これにリダイレクトするもの:

@RequestMapping("inicio")
    public String Inicio(HttpServletRequest request) throws IOException {

        return "Inicio";
    }

最初のメソッドですべてがうまくいったことを知らせるデータを渡したいと思います。

HttpServletRequest と HttpServletResponse のいくつかのメソッドを試しましたが、何もできませんでした。

4

1 に答える 1

8

RedirectAttributesハンドラー メソッド間でデータを渡すために使用します。

@RequestMapping("efetuaEnvioEmail")
public String efetuaEnvioEmail(RedirectAttributes rattrs) {
    rattrs.addAttribute("string", "this will be converted into string, if not already");
    rattrs.addFlashAttribute("pojo", "this can be POJO as it will be stored on session during the redirect");
    return "redirect:inicio";
}

@RequestMapping("inicio")
public String Inicio(@ModelAttribute("pojo") String pojo) {
    System.out.println(pojo);
    return "Inicio";
}
于 2013-06-24T21:11:13.863 に答える