如何在两个Spring控制器中传递参数

时间:2017-03-03 09:10:02

标签: java spring spring-mvc model-view-controller

我有一个Spring控制器,它返回一个重定向到另一个控制器。

首先看起来像这样

@RequestMapping(value = "/some-url", method =
{ RequestMethod.POST, RequestMethod.GET })
public String test(final Model model)
{
    ... 
    return "redirect:http://someurl/checkout/response";
}

第二个是挂钩第一个控制器的调用,所以它看起来像这样:

@RequestMapping("/**/response")
public String handleResponse(@RequestParam final MultiValueMap<String, String> params, @Valid @ModelAttribute final Cyber cyber,
        final BindingResult bindingResult, final Model model, final HttpSession session, final HttpServletRequest request) throws CMSItemNotFoundException...

我想知道如何将'@RequestedParam params'和Cyber​​对象从第一个控制器传递到第二个控制器。

3 个答案:

答案 0 :(得分:1)

如果您还希望在消费之后从会话中自动删除这些属性,您也可以使用FlashAttributes。为此,您必须在方法handleResponse中声明RedirectAttributes参数并在其上调用addFlashAttribute。例如addFlashAttribute("cyber", cyber)。这些将作为目标控制器中的模型属性提供,并将自动退出会话。

答案 1 :(得分:0)

您可以使用@SessionAttributes并将模型发送到其他内容。

了解更多click here

答案 2 :(得分:0)

嗨,谢谢你们,我在这个链接中找到了一个解决你的建议的解决方案:

JSON Extractor

这正是我的理由。