如何使用glink标记在grails webflow插件中从一个视图状态转到另一个视图状态?
我有下面的webflow表示,具有2个视图状态如何使用glink标记在grails webflow插件中从一个视图状态转到另一个视图状态?,grails,Grails,我有下面的webflow表示,具有2个视图状态 def createFlow = { startState { on("addItem"){ //do something }.to "startState" on("deleteItem"){ //do something }.to "startState" } secondState { on("addItem"){ //do something
def createFlow = {
startState {
on("addItem"){
//do something
}.to "startState"
on("deleteItem"){
//do something
}.to "startState"
}
secondState {
on("addItem"){
//do something
}.to "startState"
on("deleteItem"){
//do something
}.to "startState"
}
}
在每个视图状态下,我都希望有一个glink标记来相互调用,我尝试了这个解决方案,但没有成功
<g:link action="create" event="startState">Start</g:link>
<g:link action="create" event="secondState">Second</g:link>
我明白了
在流“purchaseOrder/create”的状态“startState”中发生事件“startState”时未找到转换-有效的转换条件为数组[addItem,deleteItem]-可能是程序员错误,请检查此状态的转换标准集
我的问题是,从glink标记可以调用self-view-state还是另一个view-state
感谢您的时间可以使用g:link触发事件 webflow的结构应该如下所示:
def createFlow = {
startState {
on("goToSecond"){
//do something
}.to "secondState"
}
secondState {
on("goToStart"){
//do something
}.to "startState"
}
}
在create/startState.gsp中
<g:link action="create" event="goToSecond">Second</g:link>
在create/secondState.gsp中
<g:link action="create" event="goToStart">Start</g:link>
关键是:
您始终处于一个状态,每个状态都可以处理一个或多个事件。
您向事件发送信号,该事件会导致当前状态的事件处理程序启动,并且如果以这种方式设置,则会移动到另一个状态。
每个状态都有一个视图,可用于使用g:submit或g:link向事件发送信号。
在您的例子中,您试图直接向状态发送信号,而实际上您想要向事件名称发送信号。而且,看起来您试图从单个视图执行此操作。可以使用视图覆盖或模板将单个视图绑定到多个状态,但这样做没有多大意义。在上面的示例中,您没有任何方法转换到secondState。这是这个例子的产物还是你的问题?我希望在至少一个startState事件处理程序的.to中看到到secondState的转换。这是我的问题,如果可能的话