Spring MVC Controller方法发帖并没有帖子

时间:2015-07-08 16:53:03

标签: spring-mvc

编辑:以下代码确实有效。希望这仍然可以作为一个例子。

有没有办法为同一个URL编写两种不同的控制器方法,一种处理正常请求,另一种处理发布请求?像这样:

@RequestMapping("/url")
public String requestWithoutData() {
  return "view";
}
@RequestMapping(value="/url", method=RequestMethod.POST)
public String requestWithData(@ModelAttribute("foo") String foo) {
  System.out.println(foo);
  return "view";
}

当我运行类似于上面的代码时,它总是默认为requestWithoutData方法。如何让春天区分两者?我知道我可以在if语句中使用一种方法,但这种方式似乎更好。提前谢谢!

1 个答案:

答案 0 :(得分:0)

是的,您可以使用相同网址但具有不同RequestMethod的两种方法。在第一种方法中,您需要具有方法属性。

@RequestMapping("/url",  method = RequestMethod.GET)
public String requestWithoutData() {
  return "view";
}
@RequestMapping(value="/url", method=RequestMethod.POST)
public String requestWithData(@ModelAttribute("foo") String foo) {
  System.out.println(foo);
  return "view";
}