如何在Spring WebFlow模型中更新数据并将其传递回同一视图。

我有一个正在处理的项目,如果用户从选择框中选择了一个项目,则需要返回服务器以向模型中填充一些需要在视图中显示的数据。

从我的视图状态可以看到,一旦选中该项目,我就会为SelectBoxPicked设置一个过渡,并使用模型调用我的控制器,但是如何将更新的模型返回到视图?

有人可以告诉我在我的java(控制器)代码中以及在flow.xml中放入什么才能使此工作生效。

<view-state id="SchoolVisitReport" view="SchoolVisitReport.jsp" model="visit" >
 <transition on="submit" to="addVisit">
  <evaluate expression="flowActions.validateVisit(visit, messageContext)"/>
 </transition>

 <transition on="loadSchools" to="SchoolVisitReport" >
  <evaluate expression="flowActions.initializeSelectableSchools(visit)" result="flowScope.selectableSchools"/>
 </transition>

 <transition on="SelectBoxPicked" to="SchoolVisitReport" >
  <evaluate expression="flowActions.fillDetails(visit)" />
 </transition>


  <transition on="cancel" to="endState" bind="false"/>
</view-state>

最佳答案

这种基本方法行得通;我们自己使用过。 The Java code you call from the evaluate method can return false to prevent the transition,尽管无论如何这只会转换回当前状态。我相信,除了false以外的任何其他内容都可以帮助您过渡。

09-26 20:01
查看更多