java - 如何从 View 模型更改 flowScope 对象?

标签 java spring spring-webflow

我有一个子流,我在其中定义了 var,例如

 <var name="tarrifOffer" class="ru.example.TariffOffer" />

现在我有三个 View 状态,我想在第一个状态下更改此变量并将其发送到第三个状态。但是当我处于第三个 View 状态时,它变为空。如何在所有 View 中保存对象的状态?

我尝试更改变量的范围并从 RequestContextHolder 获取值,但是状态,我在第一种形式中更改的内容没有保存在第三种状态中。我可爱所有不需要的代码。

<?xml version="1.0" encoding="UTF-8"?>
<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-2.0.xsd">

    <var name="tarrifOffer" class="ru.example.TariffOffer" />
    <view-state id="1" view="1/1/1" >
        <on-render>
            <set name="tarrifOffer" value="tarrifOffer"/>
        </on-render>
        <transition on="addPhone" to="2"/>
    </view-state>

    <view-state id="2" view="2/2">
        <transition on="returnToForm" to="3"/>
    </view-state>

    <view-state id="3" view="3/3/3" >
        <on-entry>
             <set name="tarrifOffer" value="tarrifOffer"/>
        </on-entry>
        <transition on="next" to="endSubFlow"/>
    </view-state>

    <end-state id="endSubFlow"/>
</flow>

最佳答案

如果您在任何状态之外定义变量,它将在流范围内,可供所有状态使用。您通常会访问该对象的字段,而不是在每个状态中创建它的新实例。

关于java - 如何从 View 模型更改 flowScope 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57220430/

相关文章:

java - Spring Data Pagination 使用 JSONView 不返回任何结果

Spring Webflow DataBinding 通过构造函数绑定(bind)到不可变对象(immutable对象)?

java - Mongodb 无法持久化事务状态,因为 session 事务集合丢失

java - 如何在Android手机上制作RTSP服务器?

java - 连接到套接字会锁定 UI

java - Spring 3.0——无法为 XML 模式 namespace 上下文找到 Spring NamespaceHandler

java - OracleDriver 不接受 jdbcUrl jdbc :oracle:thin@localhost:1521/orcl

java - 如何为服务器端的每个 websocket session 创建相互映射?

java - 尝试为 Spring、Spring WebFlow、Hibernate 等设置我的第一个 Maven POM,但出现错误

java - Spring Webflow中如何将异常传递给方法的方法?