【问题标题】:Ajax call to WebFlow with tilesAjax 使用瓦片调用 WebFlow
【发布时间】:2012-11-08 02:45:21
【问题描述】:

我正在关注您的示例“对 WebFlow 的 Ajax 调用”,但我无法使其正常工作。 您能否分享您的示例。我的问题是我想从页面进行 ajax 调用并渲染其中的一部分,但我从成功函数中得到的是整个页面内容。

这就是我所拥有的。

这是在我的 xxx-flow.xml

    <on-entry>
        <evaluate
            expression="requirementService.getRequirementDetailsForEdit(flowRequestContext)"
            result="flowScope.editableRequirement" />
    </on-entry>
    <transition on="addEmptySkillRequirements">
        <evaluate expression="requirementService.addEmptySkillRequirementForEdit(flowRequestContext)" 
        result="flowScope.content123"/>
    </transition>

    <transition on="continue" to="listRequirements" />
</view-state>

这是我的 *.jsp 调用

<form id="myForm" method="post" action="${flowExecutionUrl}&_eventId=addEmptySkillRequirements&ajaxSource=true&fragments=content">
     <input type="submit" value="Insert111" name="_eventId_addEmptySkillRequirements" id="submitMyForm" onclick="insertData12()"/>
</form>

在同一个jsp中,这是我的ajax调用

function insertData12() {

    $.ajax({
                type : "POST",
                url : '${flowExecutionUrl}&_eventId=addEmptySkillRequirements&ajaxSource=true&fragments=content',
                data : $("#myForm").serialize(),
                dataType: "text",
                accepts: "text/html",


                success : function(content) {
                    alert("success" + content);
                     $('#content').html(content);

                },
                error : function(data) {
                    alert('fail' );

                }
            });
    return false;
};

这是我的tiles.xml

<definition name="editRequirement" extends="base.definition">
    <put-attribute name="title" value="Requirement List" />
    <put-attribute name="content" value="/pages/requirements/editReqDetails.jsp"  />
</definition>

【问题讨论】:

  • 你在说哪个/谁的例子?

标签: jquery ajax spring-webflow tiles


【解决方案1】:

如果你只想渲染片段“内容”,你必须把
&lt;render fragments="content"/&gt; 在您的流程定义中:

<transition on="addEmptySkillRequirements">
    <evaluate expression="requirementService.addEmptySkillRequirementForEdit(flowRequestContext)" 
    result="flowScope.content123"/>
    <render fragments="content"/>
</transition>

【讨论】:

    【解决方案2】:

    如果您仍然遇到问题,请使用 &ajaxSource=insert_data,其中“insert_data”是您的按钮的 ID。详情请看我更新的帖子:

    Ajax call to WebFlow

    【讨论】:

      猜你喜欢
      • 2012-10-14
      • 2015-11-28
      • 2011-01-04
      • 2012-12-16
      • 1970-01-01
      • 2012-08-16
      • 2012-05-23
      • 2020-05-24
      • 2020-04-23
      相关资源
      最近更新 更多