一点背景:我们有一个现有的 spring webflow,我们希望将其 ajaxified 以便页面可以显示在“灯箱”(在不同的 URL)中,用户可以以类似于完整的方式与流交互现有页面。
正常的注册表位于
http://localhost:8080/csso/customer/registration?execution=e1s1.
(csso 是应用程序名称)
Spring Webflow 中的 webflow 的 id 为 /customer/registration。
<flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">
<flow-location id="customer/registration" path="/WEB-INF/views/customer/registration/registration-flow.xml"/>
</flow-registry>
注册-flow.xml
<view-state id="create" model="customer" view="customer/registration/create">
<on-render>
<evaluate expression="customer.setAcceptTermsAndConditions(false)"/>
</on-render>
<transition on="submit" to="confirm" />
<transition on="cancel" to="cancel" bind="false" />
</view-state>
现在我的问题是我需要以两种不同的方式访问此页面。
- 直接地。目前有效。
- 作为包含在不同的 JSP 页面(使用控制器 /tabEntry 访问的 tabEntry.jsp)中,表单的流程不会中断。
如何在 tabEntry 中包含 /customer/registration 以使单击提交通过相同的流程?
面临的问题:
通过 jsp:include 包含 /customer/registration 不起作用,因为 /customer/registration 不是控制器。此外,@include 也不起作用,因为对 /customer/redirection 的调用包含一个重定向,该重定向设置了 webflow 的执行密钥
- 表单操作自动设置为 /tabEntry,但应设置为 /customer/registation 的第二个状态以继续流程。
乐于接受设计变更,而不是在技术上敲定它。