在Spring MVC中处理表格后如何检索参数?

时间:2019-01-14 10:05:05

标签: spring spring-boot spring-mvc

我是Spring MVC的初学者,我想使用控制器恢复参数并在另一种方法中使用它:

@GetMapping("handleForm")
public String  showForm(Model m, @RequestParam int id) {  

    return "showForm";


}

@PostMapping("handleForm")
public String  processFormData(Model m) {  
/* here I want to access the  "id" parameter from the above function, how do I do that? */
}

4 个答案:

答案 0 :(得分:0)

     @GetMapping("handleForm")
  public String  showForm(Model m, @RequestParam int id)
  {  
   return "showForm";
  }
   @PostMapping("handleForm/{id}")
   public String  processFormData(@RequestParam("id") String id,Model m) 
  {  
   System.out.println(id);
   }

您还必须根据参数创建映射网址。

答案 1 :(得分:0)

这非常简单,只需将一个全局声明为HEAD并调用int id,即可在其中使用id值。

答案 2 :(得分:0)

因此,据我所知,您正在编写尝试通过请求Param进行POST的代码,据我所知您无法做到这一点。您可以更改为GET请求并通过这种方式从表单发送Param,也可以修改POST请求以使用@ModelAttribute。

 @GetMapping("handleForm")
  public String  showForm(Model m, @RequestParam int 
 id)
 {  
  return "showForm";
 }
@PostMapping("handleForm")
 public String  processFormData(@ModelAttribute  
  ModelThatContainsId id,Model m) 
 {  
   System.out.println(ModelThatContainsId.getId());
  }

答案 3 :(得分:0)

您可以在url中发送参数,并且只需使用@RequestParam即可从url中检索参数。

String id;
@GetMapping("/handleForm")
public String  showForm(Model m, @RequestParam int id) {  
this.id = id;
return "showForm";
}

@PostMapping("/handleForm")
public String  processFormData(@RequestParam("id") String id, 
Model M ) {  
String previousId = this.id;
/* here I want to access the  "id" parameter from the above function, how do I 
do that? */
}