在 Spring MVC 中,我有一个 Controller ,它监听所有到达 /my/app/path/controller/*
的请求。
假设请求到达 /my/app/path/controller/blah/blah/blah/1/2/3
。
如何获取 /blah/blah/blah/1/2/3
部分,即与处理程序映射定义中的 *
匹配的部分。
换句话说,我正在寻找类似于 pathInfo
为 servlet 但为 Controller 所做的事情。
最佳答案
在 Spring 3 中,您可以使用 @PathVariable 注释来获取部分 URL。
这是来自 http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/ 的一个简单示例
@RequestMapping(value="/hotels/{hotel}/bookings/{booking}", method=RequestMethod.GET)
public String getBooking(@PathVariable("hotel") long hotelId, @PathVariable("booking") long bookingId, Model model) {
Hotel hotel = hotelService.getHotel(hotelId);
Booking booking = hotel.getBooking(bookingId);
model.addAttribute("booking", booking);
return "booking";
}
关于java - 获取 URI 路径中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536863/