java - Spring Web Flow 转换未触发

标签 java spring spring-webflow-2

我正在使用 Spring Web Flow 2,并且在如何正确触发转换方面遇到了一个基本问题。我在互联网上进行了大量搜索,但无法找到有关如何从 View 端触发转换的深入解释。我有两种状态:enterBookingDetails 和 reviewBooking。 EnterBookingDetails 工作正常 - 页面正在加载,并且在提交事件时,reviewBooking 已加载。我的问题是,我无法从 reviewBooking 到工作进行任何转换。这是我所拥有的:

预订流程.xml:

<var name="bookingForm" class="com.mypackage.CarBookingForm"/>

<view-state id="enterBookingDetails" model="bookingForm">
    <transition on="submit" to="reviewBooking" />
</view-state>

<view-state id="reviewBooking" model="bookingForm">
    <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" />

enterBookingDetails.jsp(摘录):

<form:form modelAttribute="bookingForm">
    Pickup: <form:input path="pickUpLocation"/><br />
    Dropoff: <form:input path="dropOffLocation"/><br />
    <input type="submit" name="_eventId_submit" value="Confirm"/>
    <input type="submit" name="_eventId_other" value="Other"/>
</form:form>

reviewBooking.jsp(摘录):

Pickup Loc: ${bookingForm.pickUpLocation}<br />
Dropoff Loc: ${bookingForm.dropOffLocation}<br />

<form>
    <input type="submit" name="_eventId_confirm" value="Confirm" />
    <input type="submit" name="_eventId_revise" value="Revise" />
    <button type="submit" name="_eventId_cancel">Cancel</button>
    <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}" />
</form>

当单击“reviewBooking”上的任何按钮时,用户将返回到“enterBookingDetails”,且不会填充任何表单数据。预先感谢您的帮助。

最佳答案

好的,我解决了问题。所有的转换实际上都在触发。问题是两个有问题的转换进入了结束状态,而我没有意识到默认情况下这些转换会结束流程,然后重定向回第一页。

关于java - Spring Web Flow 转换未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11227837/

相关文章:

java - Eclipse 不识别字符串和类

java - spring中jamon的基于注释的使用?

Java - 如何从同一行读取多个值

java - 显示多列listview baseAdapter

java - 如何使spring boot永远不会发出 session cookie?

java - Spring后端测试

java - Spring WebFlow 中的动态转换

customization - 可定制的 Web 应用程序

java - IntelliJ 中的 Spring Web Flow 支持

java - 你能一次在一个对象上调用多个方法吗?