在彈簧3.0.x的我有一個處理程序方法,它完美地工作,如:更新從彈簧MVC 3.0螞蟻樣式路徑捕獲到3.1
@RequestMapping("/foo/{version:\\d+}/**")
public void handleVersionedResource(@PathVariable("version") Long version, HttpServletRequest request, HttpServletResponse response) {
String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
// rest of the code maps path and version to a real resource and serves
// content with extra long cache control/expires headers
}
在3.0.x的,FF請求URL是/ foo/12345/some/resource,然後path =「some/resource」(請求匹配的**部分)。
但是,在3.1.x中(同時使用3.1.0.RELEASE和3.1.1.RELEASE)路徑=到完整的請求路徑匹配,所以在我之前的例子中「/ foo/12345/some/resource」 。
所以問題是,有沒有人有最簡單的方法來複制我在3.0.x中獲得的行爲?還有,爲什麼這種行爲發生了變化?我首先做錯了嗎?
更新: 重複Spring 3.1.RC1 and PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE - 沒有好的答案在那裏。
魅力 – 2012-04-25 18:26:17