У меня проблемы с правильной работой кнопки браузера в веб-потоке.
Версия грааля 1.1.2.
Представьте пример кода:
def someFlow = {
...
fillGroup {
on("addMember"){
...
}.to "fillMember"
}
fillMember {
on("addMember") {
...
}.to "fillMember"
on("goToCart").to "showCart"
}
showCart {
...
}
}
Теперь я добавляю группу, несколько (> 1) участников и иду в корзину. Проблема в том, что при заполнении членов URL остается прежним. Параметр выполнения URL изменяется только при изменении состояния (представления).
Таким образом, Firefox запоминает страницы fillMember как одну страницу, поскольку URL-адрес не изменяется. Поэтому кнопка «Назад» не работает должным образом. Если я нахожусь на showCart и возвращаюсь, я получаю страницу fillMember. Дальнейшее нажатие кнопки назад возвращает fillGroup. Мне нужно, чтобы он прошел через все страницы fillMember.
Есть ли способ заставить веб-поток Grails изменить параметр выполнения, даже если я перенаправлен в то же состояние? Или я могу добавить свой собственный параметр в URL?
Я нашел один довольно уродливый способ сделать это: использовать два состояния fillMember - fillMember1 и fillMember2, оба выполняющих одно и то же, одно перенаправляет на другое. Но мне нужно еще одно состояние действия, чтобы можно было различить фактическое состояние при нажатии кнопок «назад» и «вперед». Эта конструкция работает, но я бы предпочел более простой способ.
Спасибо за любые ответы
Tom