当另一个控制器方法在Spring MVC中执行时,如何重定向到传递参数的控制器方法?

时间:2016-01-13 12:43:20

标签: java spring spring-mvc java-ee

我是Spring MVC的新手,我有以下问题。

我有一个名为 dettaglioProgettoDaRicerca()的控制器方法:

@RequestMapping(value = "/dettaglioProgettoDaRicerca", method = RequestMethod.GET)
public String dettaglioProgettoDaRicerca(@RequestParam String prgPro, Locale locale, Model model) throws Exception {
    System.out.println("INTO dettaglioProgettoDaRicerca(), codice progetto: " + prgPro);

.....................................................................
.....................................................................
DO SOMETHING
.....................................................................

return "visualizzaProspetto/prospettoRendicontazione";
}

您可以看到处理对 / dettaglioProgettoDaRicerca 资源的GET请求,以及 String prgPro 传递的参数。

然后我有另一个名为** confermaVariazioneAnticipo()的控制器方法:

@RequestMapping(value = "confermaVariazioneAnticipo", method=RequestMethod.GET)
public String confermaVariazioneAnticipo(@RequestParam String codiceProgetto, @RequestParam String variazioneAnticipoImp, Model model) throws Exception {

    System.out.println("INTO confermaVariazioneAnticipo()");

    ..................................................................
    ..................................................................
    DO SOME OTHER THING
    ..................................................................
    ..................................................................

    REDIRECT TO THE dettaglioProgettoDaRicerca() METHOD PASSING codiceProgetto AS PARAMETER
}

正如您所见,此方法处理对 confermaVariazioneAnticipo 的Http GET请求,并采用 String codiceProgetto (即 prgPro 字符串相同作为第一个 dettaglioProgettoDaRicerca()方法的参数。

最后,第二种方法不应返回视图的逻辑名称,但必须重定向到第一个 dettaglioProgettoDaRicerca()方法,并将 codiceProgetto 值传递给它参数。

如何正确实现此行为?

1 个答案:

答案 0 :(得分:1)

将其作为参数传递:

return "redirect:/path/to/other/controller?param=" + value;