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

Java 如何从另一个传递表单对象的操作方法调用spring controller@RequestMapping以及调用,java,spring,spring-mvc,servlets,Java,Spring,Spring Mvc,Servlets,我需要从spring控制器内部调用另一个@RequestMapping。现在我可以很容易地做到这一点 return "redirect:anotherMapping.htm"; 但我也需要在表单对象中传递值 @RequestMapping("/anotherMapping") public ModelAndView addUser(final @ModelAttribute("userLogin") UserLogin userLogin, final Htt

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

    return "redirect:anotherMapping.htm";
但我也需要在表单对象中传递值

    @RequestMapping("/anotherMapping")
    public ModelAndView addUser(final @ModelAttribute("userLogin") UserLogin 
    userLogin, final HttpServletRequest request){
我需要在UserLogin中传递userId。如果我写入return redirect:anotherMapping.htm;,然后它调用此控制器方法,但表单对象为null


请提供帮助。

您可以使用重定向属性

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

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

@RequestMapping("/bar")
public String bar(Model model) {
  ..
}

如果您发现这样做的次数太多,您也可以使用重定向属性

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

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

@RequestMapping("/bar")
public String bar(Model model) {
  ..
}

如果您发现这样做的次数太多,您可能也会查看RedirectAttributes。它是否在同一个控制器中?我认为无法在控制器中传递表单对象,是吗?查看RedirectAttributes。它是否在同一个控制器中?我认为无法在控制器中传递表单对象,“是吗?”我想这肯定会有帮助。我知道我可以使用session或static变量来设置id,然后在form对象中显式地设置它,但这不是最好的方法。另外,我认为在控制器中也无法传递表单对象,是吗?谢谢兄弟的帮助。你说无法在控制器中传递表单对象是什么意思?您可以使用@modeldattribute和@SessionAttribute'我认为这肯定会有所帮助。我知道我可以使用session或static变量来设置id,然后在form对象中显式地设置它,但这不是最好的方法。另外,我认为在控制器中也无法传递表单对象,是吗?谢谢兄弟的帮助。你说无法在控制器中传递表单对象是什么意思?您可以使用@ModelAttribute和@SessionAttribute