In the web stream below, I bind the form data to a stream variable (lifeCycleForm) in a submit event in view state. I have confirmed that the name, label and description properties are filled as expected.
However, when an expression in an action state is evaluated, all three properties are equal to zero. My bean form is serializable and I just use simple string properties.
What am I doing wrong?
I am new to Spring WebFlow, so I might have missed something obvious.
<var name="lifeCycleForm" class="com.btmatthews.freelancer.lifecycle.portlet.LifeCycleForm" />
<view-state id="createLifeCycle" model="lifeCycleForm">
<binder>
<binding property="name" required="true" />
<binding property="label" required="true" />
<binding property="description" required="false" />
</binder>
<transition on="submit" to="createLifeCycleAction" />
<transition on="cancel" to="lifeCycleCreationCancelled" bind="false" />
</view-state>
<action-state id="createLifeCycleAction">
<evaluate expression="lifeCycleService.createLifeCycle(lifeCycleForm.name, lifeCycleForm.label, lifeCycleForm.description, null, null)" />
<transition on="success" to="lifeCycleCreated" />
<transition on="failure" to="createLifeCycle" />
</action-state>
<end-state id="lifeCycleCreated" />
<end-state id="lifeCycleCreationCancelled" />
: , , . , AbstractFlowExecutionTests . . Spring WebFlow 2.0.4, .
: , Spring WebFlow .
,
Brian