java - 如何从另一个传递表单对象和调用的 Action 方法调用spring Controller @RequestMapping

标签 java spring spring-mvc servlets

我需要从 spring Controller 内部调用另一个 @RequestMapping。现在我可以通过

轻松做到
    return "redirect:anotherMapping.htm";

但是我还需要在表单对象中传递值。

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

我需要在 UserLogin 中传递 userId。如果我写 return "redirect:anotherMapping.htm";,那么它会调用此 Controller 方法,但表单对象为 null。

请帮忙。

最佳答案

您可以使用 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) {
  ..
}

如果您发现这样做的时间太多,您也可能consider using @SessionAttributes

关于java - 如何从另一个传递表单对象和调用的 Action 方法调用spring Controller @RequestMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22703501/

相关文章:

Octave fminunc的Java实现

java - 如何在 xml 文件中给出当前目录路径

spring-mvc - 如何使用Spring MVC @RequestParam解析不同的ISO日期/时间格式

Java/SQL : Is it mandatory to close() a ResultSet/Statement/Connection?

java - 用java开发一个2-3搜索树

java - 通过 JAX-RS 参数传递键值列表

java - 没有 Spring Boot 的 Java Spring MVC 中的 Auth0

Spring 安全。每页显示用户名

java - headers 参数如何用于 RequestMapping 注释?

java - Spring MVC : form:errors tag