因为我的URL非常复杂,而且斜杠之间的每个部分都取决于数据库的内容,所以我想这对我来说是不够的。我想我需要编写一些URL解析器,它会遍历斜杠之间的url部分,并调用某种处理程序。
有没有办法编写这样的URL解析器,它将获得字符串并返回一个表示当前请求的对象,以替换?我只找到了一些简单的教程,这些教程只使用了web.xml定义的url路由。
谢谢
发布于 2012-02-07 06:06:23
Spring非常灵活,因此您可以自定义URL解析。请看一下本教程,注意DefaultAnnotationHandlerMapping http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch16s11.html AnnotationMethodHandlerAdapter。似乎你应该研究它们是如何工作的,并覆盖一些功能。
但是在你开始之前,再想一想。你真的需要这样做吗?@RequestMapping不能满足你的需求?实际上,您可以在URL模式定义中使用路径变量{myvar}。变量可以是不同类型的,包括枚举。我使用了这个,发现非常方便。例如,您可以创建enum MyType ONE, TWO;在枚举级定义抽象方法,并为每个元素覆盖它。然后,您可以在请求映射中使用MyType类型的路径变量,并从标有@RequesteMapping注释的方法中直接调用此方法。
https://stackoverflow.com/questions/9167773
复制相似问题