如何在Webflow中使用输入/输出元素?

时间:2019-04-02 01:50:02

标签: spring-mvc spring-webflow

我试图了解在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/>行为在子流中是否发生改变?

1 个答案:

答案 0 :(得分:1)

在此代码中,如果您调用hotelId(假设您的流称为“ myFlow”),则会自动从URL映射/myFlow?hotelId=3

,但是您也可以在从另一个流程中调用流程时直接设置输入,即使用:

<subflow-state id="mySubflow" subflow="myFlow">
    <input name="hotelId" value="3"/>
</subflow-state>