@RequestMapping контроллеры и динамические URL - PullRequest
0 голосов
/ 04 мая 2011

Я хотел бы использовать аннотацию Spring MVC @RequestMapping, чтобы присоединить мой контроллер к запросам следующим образом:

@RequestMapping(method = RequestMethod.GET, value="/prod/{value:.+}/show")
 public String getProduct(
        @PathVariable("value") String value, 
        ModelMap modelMap, HttpServletRequest request, HttpServletResponse response) { 
        ...
 }

, и когда запрос будет

(..)/prod/foo/show

моя переменная значениябудет иметь foo

, и когда запрос будет

(..)/prod/foo/bar/show

моя переменная значения будет иметь foo/bar и т.д.

Есть ли способ сделать это?Какие @RequestMapping подстановочные знаки поддерживаются?

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Если я хорошо вас понял, вам нужно передать, например, на контроллер в String, который содержит какой-то дикий символ. Когда вы получите эту строку на контроллере, вы просто найдете значения перед вашим диким символом.

Это поведение имеет смысл, поскольку вы не можете добавить "." или "/", "#" в URL. Если вы используете freemarker, вы можете сделать это с помощью? Url: http://freemarker.sourceforge.net/docs/ref_builtins_string.html#ref_builtin_url

Кроме того, ".", Точка, которую вы видите здесь: http://www.december.com/html/spec/esccodes.html не имеет шестнадцатеричного эквивалентного кода ASCII, поэтому вам нужно будет изменить его из кода так, чтобы он был похож на "#" и передавался из представления в контроллер.

0 голосов
/ 04 мая 2011

Вы можете использовать регулярные выражения.Хотя вам, возможно, придется сбежать.Проверьте этот билет Джира .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...