我有一个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对象从第一个控制器传递到第二个控制器。
答案 0 :(得分:1)
如果您还希望在消费之后从会话中自动删除这些属性,您也可以使用FlashAttributes。为此,您必须在方法handleResponse
中声明RedirectAttributes参数并在其上调用addFlashAttribute
。例如addFlashAttribute("cyber", cyber)
。这些将作为目标控制器中的模型属性提供,并将自动退出会话。
答案 1 :(得分:0)
您可以使用@SessionAttributes并将模型发送到其他内容。
了解更多click here
答案 2 :(得分:0)