如何从另一个传递表单对象的动作方法调用spring controller @RequestMapping



我需要从spring控制器内部调用另一个@RequestMapping。现在我可以很容易地通过

    return "redirect:anotherMapping.htm";

但是我也需要在form object中传递value

    @RequestMapping("/anotherMapping")
    public ModelAndView addUser(final @ModelAttribute("userLogin") UserLogin 
    userLogin, final HttpServletRequest request){

我需要在UserLogin中传递userId。如果我写return "redirect:anotherMapping.htm";,那么它会调用这个控制器方法,但是表单对象是空的。

请帮。

你可以使用RedirectAttributes

在下面的例子中,当foo被调用并重定向到/bar时,模型将包含xyz=meow属性。

@RequestMapping(..)
public String foo(RedirectAttributes redir) {
  redir.addFlashAttribute("xyz", "meow");
  return "redirect:/bar";
}
@RequestMapping("/bar")
public String bar(Model model) {
  ..
}

如果你发现这样做的时间太长,你也可以考虑使用@SessionAttributes

最新更新