view-state
,具有在callback-url中编码的特定webflow-event
的触发器您好,编码员!请阅读以下问题,并提供您的解决方案/实践/见解,感谢您的时间和知识。
<view-state>
通过标准触发外部重定向
html-form
(http post
)。_flowExecutionKey
了解http-get
外部网站回调
到同一个<view-state>
。来自外部应用程序用户的回归不应显示在<view-state>
,
而不是在没有用户互动的情况下转换到action-state
;
请求(回调)url参数可用。
如何使用spring webflow实现这一目标?可以使用程序化方法 - <view-state>
<on-render>
- 将流量转换为action-state
的操作。
如果应采用其他技术解决此问题 - 请告知我们。
_eventId=someEventId
或_eventId_someEventId
不会触发spring-webflow事件<on-render/>
返回spring-webflow-Event不会触发转换与问题背景相关的工具/框架:
<view-state
id="redirectToExternalSiteAndComeBack"
view="/someViewToRedirectToExternalSite.xhtml"
redirect="true">
<on-entry/> <!-- for illustration only, does nothing -->
<on-render/><!-- for illustration only, does nothing -->
<transition on="handleExternalSiteCallback" to="handleCallBack"/>
<!-- Trigerred on button,link click -->
</view-state>
答案 0 :(得分:2)
来自视图状态的转换确实需要用户交互,但有一种方法可以实现您想要的效果。
假设您的用例是 - 在Web流程中的某个时刻让我们说e1s7
您要转到外部站点,您可以使用externalRedirect执行此操作,然后返回到流并执行某些操作。假设外部网站是一个银行,需要一个回调网址才能将用户带回您的网站。以下是bankUrl底部的xml片段的外观
bankUrl = https://somebank.com?callback=${callback}
${callback} = https://yoursite.com/flowPath?execution=e1s7&_eventId=process (do encode this!)
可以使用#{flowExecutionContext.key.toString()}
<view-state id="redirectToBank" view="externalRedirect:${bankUrl}>
<transition on="process" to="process">
</view-state>
<action-state id="process">
...do something...
</action-state>
希望有所帮助。