小编典典

Ajax + Spring Webflow

ajax

首先,我使用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为null。

因此,我假设Webflow中的requestParameters.currentPId不会从ajax调用中提取currentPId。

这是预期的吗?谁能解释并举一个例子?

我将不胜感激。

亚当


阅读 339

收藏
2020-07-26

共1个答案

小编典典

如果您认为问题来自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",
        ...
});
2020-07-26