Ajax + Spring Webflow
Posted
技术标签:
【中文标题】Ajax + Spring Webflow【英文标题】: 【发布时间】:2012-05-23 02:36:51 【问题描述】:首先,我使用 spring webflow 和一些 spring javascript 来简化 ajax 调用。
截至目前,我正在让 ajax 调用 webflow 以显示适当的片段。
所以我尝试使用 Spring.AjaxEventDecoration 来满足我的应用程序的 ajax 需求。但是,我在使用这种方法和 webflow 时遇到了一些问题,据我所知,可以使用的示例很少。
附带说明,我没有使用表单或选择框。我想我会提到这一点,因为我发现的每个示例都使用了带有 onlick 事件的表单/表单提交或带有 onchange 事件的选择框。
主要问题:如果我的 webflow 中有一个方法具有来自我的 ajax 的参数,我实际上可以将参数从 ajax 传递到 webflow 吗?
代码:
<transition on="disassociateProperty" >
<evaluate expression="dService.disassociateProperty(requestParameters.currentPId ,currentD)" result="flowScope.currentD" />
<render fragments="PList" />
</transition>
所以,当我查看 firebug 中的 ajax 调用时,它有我传入的参数 (currentPId) 和正确的 eventId。
我在 disassociateProperty 方法的第一行放置了一个调试点,它告诉我 currentPId 为空。
所以我会假设 webflow 中的 requestParameters.currentPId 没有从 ajax 调用中提取 currentPId。
这是预期的吗?谁能解释一下并举个例子?
如果能提供任何帮助,我将不胜感激。
亚当
【问题讨论】:
【参考方案1】:如果您认为问题来自 ajax 调用,如果您在此处编写 ajax 调用会很有帮助,这样我们可以检查调用是否正确完成。
您可以尝试在进行 ajax 调用时在 data 参数中传递 form serialized。另外,不要忘记在 URL 中添加 ajaxSource 参数。希望对您有所帮助。
html 示例:
<form id="formId" method="post" action="$flowExecutionUrl&_eventId=disassociateProperty">
<input type="text" id="currentPId" />
</form>
jQuery 示例:
$.ajax(
type: "POST",
data: $("#formId").serialize(),
url: $("#formId").attr("action") + "&ajaxSource=true",
...
);
【讨论】:
我发现了我的问题,它在网络流中。我无法访问我发送的参数,因为 webflow 试图将参数绑定到我不想要的当前模型对象。所以我只需要为这个特定的过渡关闭绑定。不过谢谢你的回复。 @txedo 非常感谢。无需任何其他配置即可为我工作。我没有使用任何“Spring.AjaxEventDecoration”以上是关于Ajax + Spring Webflow的主要内容,如果未能解决你的问题,请参考以下文章