答案 0 :(得分:13)
答案 1 :(得分:5)
简短回答:我不知道如何使用简单标记简单地指定一个默认方法。
但是有这个......
我不知道在哪个版本的Spring中实现了这个版本,但您可以在3.1.2中向value
提供多个@RequestMapping
。所以我这样做:
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = {"", "/", "/list"}, method = RequestMethod.GET)
public String listUsers(ModelMap model) { }
@RequestMapping(value = "/add", method = RequestMethod.POST)
public ModelAndView add(HttpServletRequest request, ModelMap model) { }
}
然后,以下网址会映射到listUsers()
:
答案 2 :(得分:0)
我会在那里创建一个没有RequestMapping值的默认方法。请参阅下面的方法 defaultCall()。然后,您只需使用URL调用它们:[yourhostname] / user
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(method = RequestMethod.GET)
public String defaultCall( MapModel model ) {
//Call the default method directly, or use the 'forward' String. Example:
return authenticate( model );
}
@RequestMapping("login")
public String login( MapModel model ) {}
@RequestMapping("logout")
public String logout( MapModel model ) {}
@RequestMapping("authenticate")
public String authenticate( MapModel model ) {}
}
答案 3 :(得分:0)
只需在默认方法上使用@RequestMapping("**")
即可。任何更具体的映射仍然应该接受他们的请求。我有时会使用此方法设置默认方法。目前使用的是Spring v4.3.8.RELEASE。