我试图找到两个 Spring WebFlow 项目共享数据的最佳方式。在我的示例中,假设 Web-Flow App1 从用户那里获取信息,例如姓名、电话、ssn 等,我需要将控制权传递给 diff Web-Flow 应用程序让我们称之为需要电话和 ssn 启动的 App2 .
由于某些规则,我们无法将手机和 ssn 保存到数据库中,所以我想听听其他程序员关于处理此问题的一些最佳方法。
我试图找到两个 Spring WebFlow 项目共享数据的最佳方式。在我的示例中,假设 Web-Flow App1 从用户那里获取信息,例如姓名、电话、ssn 等,我需要将控制权传递给 diff Web-Flow 应用程序让我们称之为需要电话和 ssn 启动的 App2 .
由于某些规则,我们无法将手机和 ssn 保存到数据库中,所以我想听听其他程序员关于处理此问题的一些最佳方法。
如果两个 Web 流实际上驻留在同一个 Java Web 应用程序中,只需使用 app1 流中的子流状态来启动 app2 流并传递所需的输入:
<subflow-state id="launchApp2" subflow="app2-flow">
<input name="phone" />
<input name="ssn" />
<transition to="resumeApp1" />
</subflow-state>
这也在参考文档中有所描述:http: //static.springsource.org/spring-webflow/docs/2.3.x/reference/html/ch03s09.html
一个 Web 应用程序必须将控制权传递给另一个 Web 应用程序?你可以重定向到 http://[app2]/start?phone=123&ssn=456
将带有隐藏变量的表单发布到其他站点。
<body onload="document.getElementById('theForm').submit();">
<form id="theForm" action="http://app2/..." method="POST">
<input type="hidden" name="name" value="Joe"></input>
<input type="hidden" name="ssn" value="XYZ123..."></input>
...
</form>
</body>