如何在spring-webflow中将流范围变量从一个视图状态传递到另一个视图状态

时间:2014-01-18 05:56:30

标签: viewstate spring-webflow flow-scope

此查询是关于在spring-webflow中将流量范围变量从一个视图状态传递到另一个视图状态。

下面的代码是一个flow.xml文件。 1.我在这个文件中有2个视图状态('firstView','secondView')。 2.这里start-state是一个视图状态'firstView',在开始时我在flowcope中设置一个变量'customizeBean'。 3.在'firstView'视图状态中定义了一个转换'selectUsers',它调用另一个视图状态'secondView'。 4.我想在第二个视图状态'secondView'中访问flow-scope变量'customizeBean',基本上我想访问'twinPickers.xhtml'页面上的'customizeBean'。 5.请告诉我如何将'customizeBean'从第一个视图状态传递到第二个视图状态。

 <?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"
    start-state="firstView" parent="reportStandard" >

    <on-start>
        <set name="flowScope.customizeBean" value="customizeBean" />
    </on-start>

    <view-state id="firstView" view="customizeReport.xhtml">
            <transition on="selectUsers" to="secondView" />     
    </view-state>

    <view-state id="secondView"
        view="/WEB-INF/twinPickers.xhtml">
        <on-entry>
            <evaluate expression="reportAction.createTwinPicker" />
        </on-entry>
    </view-state>

    <bean-import resource="customizeReport-bean.xml" />
</flow>

1 个答案:

答案 0 :(得分:2)

存储在flowScope中的对象可用于流中生命周期内的所有视图。您不必将它们从视图状态传递到视图状态。您存储在flowScope中的对象是否可以序列化?

http://docs.spring.io/spring-webflow/docs/2.3.2.RELEASE/reference/html/ch04s04.html#el-variable-flowScope