【问题标题】:Orbeon XForms: Reuse http service for several actionsOrbeon XForms:将 http 服务重用于多个操作
【发布时间】:2011-09-07 13:23:21
【问题描述】:

Orbeon 表单中的 http 服务和操作之间的分离将允许将 http 服务重用于多个操作。但是根据https://github.com/orbeon/orbeon-forms/blob/master/src/resources/forms/orbeon/builder/form/dialog-actions.xml#L67,这个优势已经被禁用了——每个动作都需要自己的http服务。我看不出有什么原因,为什么用过的提交被过滤掉了?

谢谢!

【问题讨论】:

    标签: orbeon


    【解决方案1】:

    最初,这样做是出于历史原因!我同意这是一个不需要的限制。

    但实际上你不能只删除对话框中的限制:原因是每个操作都有这样的代码:

    <action ev:event="xforms-submit-done" ev:observer="my-service-submission">
    

    这意味着如果您创建多个操作,每个操作都会注册一个事件处理程序以完成相同的服务,并且两个操作的处理程序都会运行,这是不正确的行为。

    这里需要的是这些方面的东西:

    • 每个操作在启动服务时都会将唯一标识符(例如操作的 id)传递给服务
    • 完成后,唯一 ID 将传递给 xforms-submit-done
    • 每个操作的事件处理程序都可以过滤此 id
    • 仅运行启动服务的操作的处理程序

    这需要增强 XForms 引擎来实现这个功能,顺便说一下,这已经是 suggested for XForms 2.0

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2011-06-19
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多