例如,与URL

foo.com/bar/99

99将提供直接的方法在控制器作为一个参数。控制器的映射到吧

对任何熟悉ASP.NET 视或Django,这将类似于路线。图路线在前和使用(?P\d+)在urlpatterns在后者。

这将有可能处理数据在Http请求对象的直接得到这一点,但我想知道,如果春季视已经建立支持本(特别是2.5版).

有帮助吗?

解决方案

不,春季不支持此。你可以,但是,路径图要方法 名称 使用 @RequestMapping 并适当配置 InternalPathMethodNameResolver:

@Controller
@RequestMapping("/bar/*")
public class MyController {
  ...
  public String do99(HttpServletRequest request) {
    ...
  }
}

你必须到指定 prefix 对于 InternalPathMethodNameResolver 作为"做"为上述工作由于方法名称不能开始用数字。如果你们使用"foo.com/bar/baz"如网址和电话你的方法 baz, ,没有额外的配置将是必要的。

如果你不想使用的方法名称映,越来越'99'当作参数是一样容易抓住它 request.getPathInfo() 在你的方法。

其他提示

有关使用Spring 3人,我已经学会了这个可以使用新@PathVairable注释完成

下面是从 HTTP的示例://博客.springsource.com / 2009/03/08 /休息合弹簧-3- MVC /

@RequestMapping("/hotels/{hotelId}")
public String getHotel(@PathVariable String hotelId, Model model) {
    List<Hotel> hotels = hotelService.getHotels();
    model.addAttribute("hotels", hotels);
    return "hotels";
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top