首先,我使用spring webflow和一些spring javascript来简化ajax调用。
截至目前,我正在让ajax调用webflow来显示相应的片段。
所以我试图使用Spring.AjaxEventDecoration来满足我的应用程序的ajax需求。但是,我在使用这种方法和网络流程方面遇到了一些麻烦,据我所知,可用的例子非常少。
另一方面,我没有使用表格或选择框。我想我会提到这个,因为我发现的每个例子都使用带有onlick事件的表单/表单提交或带有onchange事件的选择框。
主要问题:如果我的网页流中有一个方法来自我的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为null。
所以我假设webflow中的requestParameters.currentPId没有从ajax调用中提取currentPId。
这是预期的吗?任何人都可以解释并举例说明吗?
感谢您提供的任何帮助。
亚当
答案 0 :(得分:7)
如果你认为问题来自ajax调用,那么如果你在这里写ajax调用会很有帮助,所以我们可以检查调用是否正确完成。
执行ajax调用时,您可以尝试在data参数中传递表单序列化。另外,不要忘记在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",
...
});