我无法让浏览器的后退按钮在 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 执行参数才会更改。
因此 Firefox 将 fillMember 页面记住为一页,因为 URL 不会改变。因此后退按钮无法正常工作。如果我在 showCart 上并向后推,我会进入 fillMember 页面。进一步按下后退按钮返回 fillGroup。我需要它来浏览所有的 fillMember 页面。
即使我重定向到相同的状态,是否有任何方法可以强制 Grails Web 流更改执行参数?或者我可以将自己的参数放入 URL 中吗?
我发现了一种非常丑陋的方法:使用两个 fillMember 状态 - fillMember1 和 fillMember2,两者都做同样的事情,一个重定向到另一个。但是我需要一个动作状态才能在点击后退和前进按钮时区分实际状态。这个结构有效,但我更喜欢更简单的方法。
感谢您的任何回答
汤姆