【发布时间】:2011-05-31 08:38:22
【问题描述】:
在 Spring 3 中,有没有办法在以下 URL 中捕获rest/of/the/url:
/myapp/foo/bar/rest/of/the/url
通过使用像这样的@RequestMapping 注释:
@RequestMapping(value="{appname}/{path1}/{path2}/{remainder}")
public String myRequestMethod(
@PathVariable("appname") String appName,
PathVariable("path1") String path1,
PathVariable("path2") String path2,
PathVariable("remainder") String remainder)
我希望 RequestMapping 像这样匹配
{appname} -> myapp
{path1} -> foo
{path2} -> bar
{remainder} -> rest/of/the/url
在 RequestMapping 的 Javadocs 中有一条关于使用替代正则表达式的说明:
默认情况下,URI 模板将匹配正则表达式 [^.]*(即除句点之外的任何字符),但这可以通过指定另一个正则表达式来更改,例如:/hotels/{hotel:\ d+}
但是当我像这样使用 RequestMapping 时,这并没有达到预期的效果(我得到 404):
@RequestMapping(value="{appname}/{path1}/{path2}/{remainder:.[\\S]*}")
有人知道如何将 URL 的其余部分与 Spring RequestMapping 匹配吗?
【问题讨论】:
-
你说得对。这是重复的。
-
是的,但我更喜欢这个问题的措辞。
标签: java spring-mvc