【问题标题】:Spring Webflow Subflow - Referenced Flow Cannot be FoundSpring Webflow子流-找不到引用的流
【发布时间】:2014-02-17 17:18:51
【问题描述】:

我的所有流程文档都在 /WEB-INF/pageFlows 下。

<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices" base-path="/WEB-INF/pageFlows">
    <webflow:flow-location-pattern value="/**/*-flow.xml"/>
</webflow:flow-registry>

在子流元素的子流属性上使用 Eclipse 的预先输入功能时,我可以看到我在项目中包含的流的列表...除了它只加载我实际拥有的流的一半该项目。任何不在该预先输入列表中的流都会在 Eclipse 中创建一个错误警告。

所以现在我的项目中报告了几个错误,而实际上没有任何错误。我想摆脱这些错误消息。有解决这些参考错误的建议吗?

错误消息如下所示: “找不到引用的流 [流名称]”

【问题讨论】:

  • 答案没有解决我的问题。我发现 IDE 的验证存在错误。在子流状态中使用时,Spring 组件无法识别所有引用的流。您要么必须处理 IDE 中的错误并且只知道它们可以被忽略,要么您可以通过转到 Window > Preferences > Spring 来关闭 Spring 验证的这一部分。在 Spring 下展开“Web Flow Validator”。向下滚动到“子流状态规则”并取消选中它。保存更改并清理您的项目。错误将消失。

标签: java eclipse spring spring-webflow


【解决方案1】:

这是Spring验证的BUG。

您可以禁用“子流状态规则”验证器以将其删除。

请看下面的截图。

【讨论】:

    【解决方案2】:

    根据您的流程注册表流程定义:

    1) 确保您所有的流程定义文件都在 WEB-INF/pageFlows 和

    2) 您所有的流文件名都以 -flow.xml 结尾

    【讨论】:

      【解决方案3】:

      确实是bug。你的配置很好。只要您使用基本路径和文件名之间的路径作为您在子流元素的子流属性中引用的流标识符。在 webflow 文档的section 10 中查找详细说明。

      我使用“/**/flow.xml”作为流位置模式,而我的 Eclipse 的预输入只为我提供了文件名 (flow.xml) 作为建议。它实际上应该检测基本路径和文件名之间的路径部分,并显示一个列表。

      我设法通过删除子流元素、保存文件并重新键入子流元素来暂时删除错误注释的错误。

      删除子流程元素并保存文件后,错误消失。

      输入回子流元素后,错误不会再次出现。

      清理和构建后错误再次出现。然后重复上面的操作,让它消失。

      我目前正在使用 Eclipse 4.4

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-13
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 2014-11-07
        • 2014-06-21
        • 2011-10-19
        相关资源
        最近更新 更多