Webフローでブラウザの戻るボタンを正しく機能させるのに問題があります。grailsのバージョンは1.1.2です。サンプルコードを想像してみてください。
def someFlow = {
...
fillGroup {
on("addMember"){
...
}.to "fillMember"
}
fillMember {
on("addMember") {
...
}.to "fillMember"
on("goToCart").to "showCart"
}
showCart {
...
}
}
ここで、グループ、複数(> 1)のメンバーを追加し、カートに移動します。問題は、メンバーを埋めている間、URLが同じままであるということです。URL実行パラメータは、状態(ビュー)が変更された場合にのみ変更されます。
したがって、URLは変更されないため、FirefoxはfillMemberページを1ページとして記憶します。したがって、戻るボタンは正しく機能しません。showCartを使用してプッシュバックすると、fillMemberページに移動します。戻るボタンをさらに押すと、fillGroupが返されます。すべてのfillMemberページを通過するために必要です。
同じ状態にリダイレクトした場合でも、Grails Webフローに実行パラメーターを変更させる方法はありますか?または、独自のパラメータをURLに入れることはできますか?
これを行うには、かなり醜い方法が1つ見つかりました。2つのfillMember状態(fillMember1とfillMember2)を使用します。どちらも同じことを行い、一方が他方にリダイレクトします。ただし、戻るボタンと進むボタンを押したときに実際の状態を区別できるようにするには、もう1つのアクション状態が必要です。この構成は機能しますが、もっと簡単な方法をお勧めします。
答えてくれてありがとう
トム