如何在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
以外的任何其他内容都可以帮助您过渡。