Как реализовать условные переходы в Spring Webflow - PullRequest
1 голос
/ 20 января 2012

Просто знакомство с Spring Webflow.У меня есть несколько простых форм, работающих и связывающих взад и вперед - очень круто.В данный момент для меня неочевидно, как динамически запускать поток на основе ввода пользователя.

т.е. представить поток, в котором пользователь выбирает параметр на первом экране, и на основании выбранного выбора, различныхподпотоки могут быть инициированы.В псевдо-терминах что-то вроде следующего псевдопотока:

    <view-state id="selectService" model="serviceType">
            <transition on="proceed">
               <if "serviceType.selectedValue==1" to="subFlow1" />
               <if "serviceType.selectedValue==2" to="subFlow2" />
               <if "serviceType.selectedValue==3">
                      <if "serviceType.isValid==3" to="subFlow3" />
               </if>
               <default to="cancel" />
             </transition>
            <transition on="cancel" to="cancel" />
    </view-state>

Я просмотрел примеры, документы, stackoverflow и весенние форумы, но нигде не видел этого ..

Ответы [ 2 ]

1 голос
/ 10 апреля 2014

Я недавно пытался использовать дешифратор, но, честно говоря, для любой нетривиальной логики лучше перенести его на метод Java, где вы можете легко протестировать его. Затем вызовите указанный метод и используйте вывод оттуда. Лучше всего сохранять потоковые XML-файлы настолько простыми, насколько это возможно.

1 голос
/ 20 января 2012

Это покрыто Spring in Action 3 , которая, на мой взгляд, является отличной книгой для развития Spring.

Чтобы ответить на ваш вопрос здесь, я думаю, вы ищете переходный элемент decision-state. Чтобы перейти к пользовательскому вводу, вы должны иметь возможность использовать Spring Expression Language (SpEL) в атрибуте test.

...