Grails URLMappings использует неверный URL-адрес

Код GSPКак заставить Grails использовать правильный URL-адрес в UrlMappings.groovy при одинаковых путях с один заканчивается на $action, а другой заканчивается на $id? При запуске действия через файл GSP моя программа переходит по URL-адресу id, вызывая ошибку.

На изображении показаны два рассматриваемых URL-адреса. Мне нужно вызвать первый URL, $action, по нажатию кнопки, но вместо этого запускается второй URL


person Neel Krishna    schedule 19.01.2016    source источник
comment
Может, добавить пример? (Код Gsp, фрагмент UrlMappings.groovy)   -  person Nick Larson    schedule 19.01.2016
comment
добавил пример, спасибо   -  person Neel Krishna    schedule 19.01.2016


Ответы (2)


Здесь вам придется нелегко, поскольку $id и $action — это просто имена переменных, пока они не будут назначены. Они не знают, что вы отправляете идентификатор или действие, только то, что URL-адрес соответствует шаблону. Вы могли бы сделать что-то вроде этого, хотя.

"/workflow/**/$siteId/**/$iteration/**/$action?/$id?" (controller:"*****")

Вам нужно будет всегда указывать свое действие, ***/list/123 или ***/someAction будут соответствовать, но не ***/123.

Вы также, вероятно, могли бы сделать какое-то ограничение/логику в сопоставлении, чтобы разобраться, но это может стать грязным.

person Nick Larson    schedule 19.01.2016

вы можете принудительно указать тип запроса, например. Опубликовать, поставить, удалить, получить и т.д.

person Vinay Prajapati    schedule 19.01.2016
comment
это не сработало, так как я указал запрос $action, как показано на изображении выше. - person Neel Krishna; 19.01.2016