Зависит от того, как вы собираетесь это делать. Если вы делаете это в одном потоке, у вас будет что-то вроде этого:
<view-state id="loginView" view="login.jsp">
<action-state bean="someBean" method="login" />
<transition on="success" to="informationView" />
</view-state>
<view-state id="informationView" view="information.jsp">
<render-actions>
<action-state bean="someBean" method="retrieveInformation" />
</render-actions>
<transition on="forward" to="messageView" />
<transition on="back" to="loginView" />
</view-state>
<view-state id="messageView" view="message.jsp">
<render-actions>
<action-state bean="someBean" method="retrieveMessage" />
</render-actions>
<transition on="forward" to="closeView" />
<transition on="back" to="informationView" />
</view-state>
<view-state id="closeView" view="logout.jsp">
<transition on="jumpBack" to="informationView" />
</view-state>
Переход "jumpBack" на "closeView" вернет вас назад к состоянию просмотра №2, которое является вашим информационным представлением.
С подпотоками это сложно. Вам нужно было бы связать его: вызвать подпоток, и, если событие сигнализирует о том, что вам нужно завершить свой поток определенным состоянием, немедленно сделайте это.
Например, скажем, что ваша цепочка потоков - это логин-> информация-> сообщение-> закрыть.
При закрытии потока конечным состоянием будет "returnToInformation".
Поток сообщений имеет переход от = "returnToInformation" к = "returnToInformation".
returnToInformation также является конечным состоянием в потоке сообщений.
Затем информационный поток имеет переход on = "returnToInformation" в = "displayInformationPage", который затем повторно отображает информационную страницу.