我试图了解如何在webflow中使用输入和输出元素。文档建议流输入/输出映射类似于调用带签名的方法,但我不明白是什么传递流输入值或流返回输出的内容。我如何使用这些元素?
我一直在阅读找到here的文档,但是没有我能找到的行动元素的例子。这是文档中的一个示例。
<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.xsd">
<input name="hotelId" />
<on-start>
<evaluate expression="bookingService.createBooking(hotelId, currentUser.name)"
result="flowScope.booking" />
</on-start>
<view-state id="enterBookingDetails">
<transition on="submit" to="reviewBooking" />
</view-state>
<view-state id="reviewBooking">
<transition on="confirm" to="bookingConfirmed" />
<transition on="revise" to="enterBookingDetails" />
<transition on="cancel" to="bookingCancelled" />
</view-state>
<end-state id="bookingConfirmed" />
<end-state id="bookingCancelled" />
在此代码中,分配给“hotelId”的值来自何处?输入是否来自URL?如果是这样,<input/>
行为在子流中是否会发生变化?
在此代码中,如果您调用hotelId
(假设您的流被称为“myFlow”),/myFlow?hotelId=3
将自动从URL映射
但是你也可以在从另一个流调用流时直接设置输入,即使用:
<subflow-state id="mySubflow" subflow="myFlow">
<input name="hotelId" value="3"/>
</subflow-state>