【问题标题】:Submission that redirects重定向的提交
【发布时间】:2021-12-25 17:15:20
【问题描述】:

我现在无法访问我的工作电脑,但我希望我可以传达足够的信息,以便有人可以为我指明正确的方向。 (此时我也不确定这是要解决的 Orbeon 问题还是 Spring MVC 问题)。 我们有一个 Spring MVC Web 应用程序,它“处理”由调用 Orbeon 的单独部署创建的 XML 的处理和存储。在 xform 中,我们有一个“post”提交,它调用一个控制器方法来保存实例。我们希望在提交后显示“结果反馈”页面(“成功,失败,错误..xxx”)。如果存储操作失败,我们会在此反馈页面中包含错误信息。 (我们已经为此使用 Spring MVC “flash attributes”进行了测试,我们希望使用 'post/redirect/get' mvc 模式)。

如果我这样做:<xf:submission method="post" resource="/saveXform" instance="mainInstance" replace="none"> <xf:action event="xforms-submit-done"> <xf:load resource="resultpage" show="replace"/></xf:action> </xf:submission> 'saveXform' 控制器方法完成(记录了实际结果),Orbeon 加载了一个“结果页面”,但我们想做的是让 我们的 控制器方法实际替换显示的 xforms 页面因此我们可以将结果数据发送到该页面:但是,让该方法返回一个视图没有任何作用。

我觉得我缺少关于 xforms 或 Spring MVC 的一些明显的东西。这可能吗? (是不是因为提交是由 Ajax 调用的帖子,而控制器方法在 Ajax 调用返回之前无法执行任何操作?)我们希望我们的“saveXform”方法能够显示反馈,而不是 Orbeon。这样做的正确方法是什么?非常感谢任何帮助!

【问题讨论】:

  • 嗨弗朗西斯,这是一个艰难的,因为我不了解 Spring MVC 框架,所以不理解你所问的部分问题。您能否以不依赖于 Spring MV 框架知识的方式重新表述您的问题? -亚历克斯
  • 重新阅读您的问题后,我想我知道您在追求什么。我在下面发布了一个答案,当然如果我偏离轨道并误解了你的问题,请告诉我。 -亚历克斯
  • 如果这就是它所需要的会很尴尬,但我会尽快尝试!

标签: orbeon


【解决方案1】:

您是说您有一个存储来自 Orbeon Forms 的 XML 的 Web 应用程序。我想您有用户填写由 Orbeon Forms 运行的表单,并且在用户提交表单后,您已设置 Orbeon Forms 以将 XML 数据发送到您的 Web 应用程序。

您引用了<xf:submission>,所以我假设您正在“手动”编写 XForms,即您没有使用 Form Builder 来创建表单。如果是这样,您需要做的就是在您的<xf:submission> 上使用replace="all",而不是您当前拥有的replace="none"。 (并且您不需要在您引用的xforms-submit-done 上运行该操作。)使用replace="all",Orbeon Forms 将“仅”将它从您的网络应用程序返回的内容提供给浏览器,充当一种反向代理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多