В веб-потоке ниже я связываю данные формы с переменной потока (lifeCycleForm) для события отправки в состоянии просмотра. Я подтвердил, что все свойства name, label и description заполнены, как и ожидалось.
Однако, когда выражение в состоянии действия оценено, все три свойства равны нулю. Мой компонент формы сериализуем, и я просто использую простые строковые свойства.
Что я делаю не так?
Я довольно новичок в Spring WebFlow, поэтому я мог пропустить что-то очевидное.
<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