gpt4 book ai didi

java - 如何通过ajax修改webflow中的对象?

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:51 25 4
gpt4 key购买 nike

我无法理解 ajax、 Controller 和 web-flow 如何交互。

截至目前,我的项目通过流程从不同的 View 状态从一个页面移动到另一个页面。

但是,在其中一些不同的页面上,我有一些 ajax 调用,这些调用被定向到各种 Controller ,以便在“currentObject”上进行服务器处理。这些服务返回一个对象,我需要将其作为我的“currentObject”放回网络流中。

为了说清楚:我想将对象 A 与对象 B 关联起来,其中对象 A 与“currentObject”关联。我进行服务器处理并完成关联(因此“currentObject”与对象 A 关联,对象 A 与对象 B 关联)并将对象保存到数据库。当我单击“创建新对象”时,网络流仍然具有“currentObject”,其中对象 A 与对象 B 不关联。

我想将更新后的“currentObject”从 Controller 放入 web-flow 中,那么通过 ajax 调用修改 web-flow 中的对象的最佳方法是什么?

亚当

最佳答案

这有点棘手。我遇到了类似的情况,发现这篇文章很有帮助:Ajax + Spring Webflow

基本问题是 Webflow 中的对象是序列化的,因此仅执行 AJAX 调用,然后像使用普通 Controller 一样修改数据库中的某些内容是行不通的。

就我而言,基本模型对象是“计划”,我想删除一个名为“任务”的子对象。我在 webflow 的 XML 配置中设置了一个转换,如下所示:

<transition on="dropTask">
<evaluate expression="planService.dropTaskFromPlan(requestParameters.taskID, plan)" />
</transition>

“planService”类将运行我的“Plan”对象,找到具有给定 ID 的任务,并将其删除。

这是 ajax 调用:

var targetUrl = $("#actionPlanForm").attr("action") +     '&_eventId_dropTask=_eventId_dropTask';
$.ajax({
type : 'POST',
data: $("#actionPlanForm").serialize() + '&taskID=' + taskID,
url : targetUrl
});

关于java - 如何通过ajax修改webflow中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10420520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com