在我的用户界面中,我有几个选项卡,其中每个选项卡都是 grails webflow 中的一个状态。
从 TAB1 可以转到 TAB2、TAB3、TAB4
从 TAB2 可以转到 TAB1、TAB3、TAB4 ...
对于每个状态中的每个转换,我目前执行相同的代码进行验证并定义转换,例如:
on("TAB2") {
log.debug("Navigating to zu TAB2")
bindData(flow.carInstance, params)
if (!flow.carInstance.validate()) {
return error()
}
}.to "TAB2"
on("TAB3") {
log.debug("Navigating to zu TAB3")
bindData(flow.carInstance, params)
if (!flow.carInstance.validate()) {
return error()
}
}.to "TAB3"
....
参考 Grails Webflow :访问动作或转换状态之外的流范围我创建了一个 for 循环来动态创建转换。导航似乎有效,但日志在每次转换时显示“导航到 TAB4”(集合中的最后一个条目)。
for (step in ["TAB2", "TAB3", "TAB4"]) {
on(step) {
log.debug("Navigating to ${step}")
bindData(flow.carInstance, params)
if (!flow.carInstance.validate()) {
return error()
}
}.to step
}
为什么?可以这样实现吗?我认为 Grails 没有定义全局转换...