【问题标题】:How do I update data in a Spring WebFlow Model and Pass it back to the same view如何更新 Spring WebFlow 模型中的数据并将其传递回同一视图
【发布时间】:2012-08-31 06:51:47
【问题描述】:

如何更新 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>

【问题讨论】:

标签: java spring hibernate spring-mvc spring-webflow


【解决方案1】:

这种基本方法有效;我们自己用过。 The Java code you call from the evaluate method can return false to prevent the transition,尽管无论如何这只会转换回当前状态。我相信除了false 之外的任何东西都会让你过渡。

【讨论】:

  • 我不明白你的意思,但这个.. 我正在尝试找到代码示例放入我的控制器以更新模型并将其传递回视图
  • 您将其作为参数传入,因此您只需在方法中对其进行更新。无需“传回”。
  • 我是说你的 flow.xml 是正确的,在你的 java 代码中没有什么特别需要做的。只需更新您传入的visit 对象即可。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2014-07-23
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多