使用 Spring MVC,我知道您如何在每个 Controller 和方法/ Action 中设置 RequestMapping
。
但是如果我希望它是可配置的,例如我下面的 Controller :
BlogController
- with methods for listing blogs entries, single entry, new, update, etc.
ArticleController
- with methods for listing articles entries, single entry, new, update, etc.
现在在我的应用程序中,管理员可以为网站设置 2 个博客和 1 个文章部分,因此网址如下:
www.example.com/article_section1/ - uses ArticleController
www.example.com/blog1/ - uses BlogController
www.example.com/blog2/ - uses BlogController
也许一段时间后管理员想要另一个文章部分,所以他们只需配置一个新部分,例如:
www.example.com/article_section2/
这必须动态/即时工作,当然无需重新启动应用程序。
我的问题只涉及如何处理到 Controller 的 url 映射。
Spring MVC 怎么可能做到这一点?
我只知道如何在 Controller 或方法级别使用 @RequestMapping("/helloWorld")
将 url 映射到 Controller ,但这使得 url 映射是固定的,不能像我想要的那样配置.
更新:
我会将路径存储在数据库中,并映射到 Controller 类型,如下所示:
path controller
/article_section1/ article
/blog1/ blog
/blog2/ blog
..
有了以上信息,我怎样才能将请求分派(dispatch)给正确的 Controller ?
同样,不打算重新加载/重新部署,我意识到这需要更多的工作,但它在规范中:)
最佳答案
这种 URL 映射对您有用吗?
www.example.com/blog/1/
www.example.com/blog/2/
如果是,那很简单:Spring 3 支持路径变量:http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html#mvc-ann-requestmapping-advanced
或者,您可以创建一个通用请求映射和您自己的读取配置文件的子调度程序,但我认为这可能比它的值(value)更多。
关于java - Spring MVC 请求映射,这可以是动态/可配置的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710307/