我在浏览器的后退按钮在Web流中正常工作时遇到问题。 grails的版本是1.1.2。 想象示例代码:Grails Web浏览器的后退按钮流问题
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 web flow改变执行参数,即使我重定向到相同的状态?或者我可以将自己的参数放入URL中?
我发现了一个非常难看的方法:如何使用两个fillMember状态 - fillMember1和fillMember2,两者都做同样的事情,一个重定向到另一个状态。但是我需要一个更多的动作状态,以便能够区分按下后退和前进按钮时的实际状态。这个构造有效,但我更喜欢更简单的方法。
感谢您的任何答案
汤姆