Из потока B я хочу вызвать определенное состояние просмотра потока A - Spring webflow - PullRequest
0 голосов
/ 20 сентября 2011

Используя Spring web-flow 2.3.0, как я могу вызвать ОСОБЕННОЕ представление состояния потока A из потока B.

Можно ли использовать подпоток?

Из потока B я хочу перейти к viewstate = "def" потока A

Поток B

    <subflow-state id="actions1" subflow="A">
</subflow-state>

Поток A

<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/webflow 
http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">

<view-state id="abc">
</view-state>
<view-state id="def">
</view-state>

Может кто-нибудь, пожалуйста, скажите мне, как это сделать .. не найти что-нибудь через Google

1 Ответ

2 голосов
/ 27 сентября 2011

Проще говоря, вы не можете.

Поток определяется как

повторно используемая последовательность шагов, которые могут выполняться в разных контекстах

В этом случае def - это отдельный поток. Кроме того, потоки доступны только из их первого состояния.

Рассмотрим поток А:

<view-state id="searchUsersView" model="searchCriteriaWm" view="users/list">
  <transition on="selectUser" to="detailView">
     <set name="detailWm" value="usersActions.getUserDetail(searchCriteriaWm.selectedElementId)" />
  </transition>
</view-state>

И поток B:

<view-state id="createUserView" model="createUserWm" view="users/create">
  <transition on="submit" to="detailView">
    <evaluate expression="userActions.createUser(createUserWm)" result="detailWm" />
  </transition>
</view-state>

Вместо двух detailViews вы можете легко создать поток деталей, к которому можно обращаться как к подпотоку.

<input name="detailWm">
<view-state id="detailView" model="detailWm" view="users/detail">
</view-state>
...