Spring Webflow - Multiple evaluate statements in Action State

When executing mutiple expression statements in an action state you might encounter this exception

org.springframework.webflow.engine.NoMatchingTransitionException: No transition was matched on the event(s) signaled by the [X] action(s) that executed in this action state

This exception occurs because none of the evaluate statements trigger the transition. From the docs to trigger a transition a Action method has to return one of the following values

A java.lang.String value
A java.lang.Boolean value
A java.lang.Enum value
any other type success

<action-state>
   <evaluate expression="bean.setName('mark')"/>
   <evaluate expression="bean.setAddress('Ireland')"/>

   <transition to="myView"/>
</action-state>

So in our case our evaluate statements are not returning any of the event ids that will trigger a transition so we need to add the attribute element that will be set when the evaluate expression completes.

'The name of each action will become the qualifier for the actions result event' - webflow docs


<action-state>
   <evaluate expression="bean.setName('mark')"/>
   <evaluate expression="bean.setAddress('Ireland')">
     <attribute name="name" value="complete"/>
   </evaluate>
   <transition on="complete.success" to="myView"/>
</action-state>

Hope this helps someone, cause Spring webflows documents don't haha

Comments

Popular posts from this blog

Angular Testing child component inputs

Grails 3.2: Bootstrap.groovy is not executed when run as an executable war/jar file