Возможный дубликат:
Spring 3 RequestMapping: получить значение пути
В Spring 3, есть способ захватить rest/of/the/url
в следующем 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
В Javadocs для RequestMapping есть заметка об использовании альтернативного регулярного выражения:
По умолчанию шаблон URI будет соответствовать регулярному выражению [^.] * (т.е. любой символ, отличный от периода), но это можно изменить, указав другое регулярное выражение, например:/hotels/{hotel:\d +}
Но это не ведет себя так, как ожидалось (я получаю 404), когда я использую RequestMapping так:
@RequestMapping(value="{appname}/{path1}/{path2}/{remainder:.[\\S]*}")
Кто-нибудь знает, как сопоставить остальную часть URL-адреса с Spring RequestMapping?