我正在使用 spring mvc。我的网站中有 3 个页面(实际上 Controller 处理这些请求):
localhost/post.html
localhost/search.html
localhost/list.html
我希望 URL 为 localhost/XXX/post.html
,其中 XXX
是一个参数,它将作为参数传输到 Controller 方法。例如,如果用户询问localhost/bla/post.html
,那么/post
的 Controller 方法将获取bla
作为参数。
这在 spring mvc 中可能吗?
最佳答案
是的,而且很容易做到。当您定义处理程序 URL 的映射时,您可以将变量放入路径中,如下所示:
@RequestMapping("/{blah}/post.html")
public ModelAndView handleRequest(@PathVariable("blah") String blah) {
//
}
Spring 会在调用该方法时为您设置 String 的值。
(虽然不是绝对必要的,但在路径中存在调度程序 servlet 的子目录也是正常的。将调度程序映射到根目录可能会很麻烦。例如,会搞乱静态资源访问。例如 localhost/myapp/blah/post.html)
关于java - spring mvc url 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983043/