В приведенном ниже веб-потоке я привязываю данные формы к переменной потока (lifeCycleForm) в событии отправки в состоянии представления. Я проверил, что свойства имени, метки и описания заполнены, как ожидалось.Как передать данные модели из состояния представления и состояния действия в Spring Web Flow 2
Однако, когда выражение в состоянии действия оценивается, все три свойства равны нулю. Моя форма bean является сериализуемой, и я просто использую простые свойства строки.
Что я делаю неправильно?
Я довольно новичок в 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" />
Update: я забыл упомянуть в моей первоначальной публикации, что это был мой юнит-тесты, которые потерпели неудачу. С тех пор я узнал, что AbstractFlowExecutionTests не реализует привязку параметров запроса. Мне это кажется немного недосмотром. Я пробовал последнюю ночную Spring WebFlow 2.0.4, и поведение остается прежним.
Обновление: Мои проблемы в том, что Spring WebFlow mocks не моделируют подачу формы.
Заранее спасибо, Brian
Мое единственное предложение - передать LifeCycleForm в lifeCycleService как полный объект (а не по частям) и посмотреть, как он выглядит в этом методе с помощью отладки ... Я не вижу ничего плохого с вашим потоком , но я использовал только Webflow 1.0 :( – MetroidFan2002 2008-10-23 01:32:28