2012-11-13 188 views
4

我的问题是controller上的动态url。我有类树。我的类有n个子类。Spring Mvc动态请求映射

我的网址:www.xyz.com/category/mainCategory/subCategory/subCategory/subCategory/subCategory

@Controller 
@RequestMapping(value="/category/**") 
public class CategoryController { 

    ????  
    public void init() 

} 

如何定义的动态requestmapping?

+1

这样的,你必须自己解析请求字符串。 – Affe

+0

@Affe我看最佳做法。如何解决其他人这种情况。 我的解决方案代码: String url =(String)request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); – janatar

+0

如果yu认为nickdos解决方案可以解决您的问题,那么您可以为其他人提供支票(右标记选项)。 – user533

回答

8

您也可以尝试这样的:

@RequestMapping(value="/category/{path}/**", method = RequestMethod.GET) 
public void categoryTest(@PathVariable("path") String path, HttpServletRequest request) throws Exception { 
    String remainingPaths = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); 
    logger.debug("path = " + path + "/" + remainingPaths); 
} 
+0

对不起。不工作您的解决方案。 – janatar

+0

这次我编辑了我的答案并进行了测试。 – nickdos

+0

感谢这个解决方案。 – janatar