如何使用glink标记在grails webflow插件中从一个视图状态转到另一个视图状态?

如何使用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

我有下面的webflow表示,具有2个视图状态

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的转换。这是我的问题,如果可能的话