0

我试图找到一种方法,如果用户重新启动流程,则值不在其中。如果您查看下面的流程,您可以看到用户输入数据,预览并保存它。保存后,用户可以返回以将新数据输入到输入屏幕,但使用我当前的设置,屏幕显示预-数据。如何在重启时清除它?

<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="customer" class="org.uftwf.domain.Customer"/>

  <view-state id="helloworld" view="input.jsp" model="customer" popup="true">
    <transition on="submit" to="preview" />
    <transition on="cancel" to="thanks" validate="false"/>
  </view-state>

  <view-state id="preview"  model="customer">
    <transition on="cancel" to="helloworld"/>
    <transition on="accept" to="save">
      <evaluate expression="hellowWorldFlowActions.addCustomer(customer)"/>
    </transition>
  </view-state>

  <view-state id="save"  model="customer">
    <transition on="accept" to="thanks"/>
  </view-state>

  <view-state id="thanks">
    <transition on="restart" to="helloworld"/>
  </view-state>
</flow>
4

3 回答 3

0

一种简单的方法是reset()在您的类上定义一个方法,并以任何有意义的方式Customer调用该方法<view-state> <on-entry>(如“thanks”)或(“restart”)。<transition>

于 2012-07-26T16:21:25.910 回答
0

您可以执行外部重定向以执行相同的流程。这是一个例子。

<var name="customer" class="org.uftwf.domain.Customer"/>

<view-state id="thanks">
   <transition on="restart" to="doRestart"/>
</view-state>

<end-state id="doRestart" view="externalRedirect:nameOfThisFlow"></end-state>
于 2014-12-12T14:30:56.320 回答
0

你有没有尝试过:

<view-state id="helloworld" view="input.jsp" model="customer" popup="true">
        <on-entry>
                <set name="flowScope.costumer" value="new org.uftwf.domain.Customer()" />
        </on-entry>
        <transition on="submit" to="preview" />
        <transition on="cancel" to="thanks" validate="false"/>
</view-state>
于 2012-07-27T07:39:47.450 回答