Grails UrlMappings с URL-шаблоном, оканчивающимся на "/" - PullRequest
3 голосов
/ 10 марта 2009

В моем классе Grails UrlMappings есть следующее UrlMapping:

  "/$something/" {
      controller = "controllerName"
      action = "actionName"
      constraints {
      }
  }

Запросы к "/ foobar /" и "/ foobar" направляются на правильный контроллер и действие.

Однако URL-адреса, созданные с использованием g: link, не заканчиваются косой чертой ("/"), как ожидалось.

Код GSP ...

<g:link controller="controllerName" action="actionName" params="[something: 'foobar']">...</g:link>

... генерирует вывод HTML ...

<a href="/foobar">...</a>

Как заставить Grails генерировать ссылку, указанную в шаблоне URL? Это включает в себя завершающий слеш.

1 Ответ

1 голос
/ 16 марта 2009

К сожалению, это невозможно при отображении URL-адресов Grails по умолчанию. Слеши обрабатываются особым образом. И это поведение жестко запрограммировано в ядре Grails. Это может быть переопределено с помощью плагина.

В качестве обходного пути (возможно, не применимо) я могу предложить использовать его таким образом:

<g:link uri="/foobar/">Foo Link</g:link>

Это должно создать ссылку с косой чертой.

...