【问题标题】:How to pass a parameter within two Spring controller如何在两个 Spring 控制器中传递参数
【发布时间】:2017-03-03 09:10:01
【问题描述】:

我有一个 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 参数”和 Cyber​​ 对象从第一个控制器传递到第二个控制器。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以使用@SessionAttributes 并将模型发送到另一个内容。

      了解更多click here

      【讨论】:

        【解决方案3】:

        嗨,谢谢你们,我在此链接中找到了一个解决方案,通过谷歌搜索您的建议:

        http://www.concretepage.com/spring/spring-mvc/spring-mvc-redirectview-example-add-fetch-flash-attributes-redirectattributes-model-requestcontextutils

        这正是我的情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-04
          • 1970-01-01
          • 2016-07-29
          • 2020-10-09
          • 2020-02-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多