Tag: spring webflow 2

从jar文件加载的流中的视图状态中的相对视图

我有一个关于使用JSF的Spring Web Flow的问题:我如何教Spring Web Flow能够从tomcat webapp的类路径中的jar加载相对视图,例如view =“pages / view.xhtml” ? 经过谷歌的一些研究后,我认为,Web Flow不支持这个开箱即用的星座。 也许是一些上下文,以帮助理解我的问题: – 流程在多个FlowRegistries中注册(我通过实现自定义实现解决了这个问题,该实现在Spring上下文中查找所有flowRegistries) – 流可以作为文件资源驻留在类路径之外或者在类路径中的jar,即文件资源流位于WEB-INF / conf中的某个位置,它们位于jar文件中的相同位置。 – 流定义中的视图相对于流定义文件进行了处理 现在你可能会问这个问题为什么我们有两个星座,流可以驻留在哪里。 目前,我们正在尝试从一大堆包含属于某个域的所有function的webapp模块中提取。 该方法是将所有相关的工件捆绑在一个项目中,该项目可以构建为jar并随后添加到webapp中。 虽然在不知道配置文件所在位置的情况下为每个jar加载Spring bean没有问题,但Web Flow会导致一些问题。 第一个问题是,flowRegistry是一个整体,如果不事先做一些事情就无法拆分。 自定义流注册表解决了此问题。 但现在我遇到了第二个问题:在视图状态中,我们相对于流定义引用页面,如文档中所述: … 现在,当我进入这样的视图状态时,Web流会抛出exception,这告诉我不支持这种方式: A ContextResource is required to get relative view paths within this context; the resource was … 谷歌搜索引出了这个可能的解决方案: 在jar子里的webflows的解决方法 但是这种解决方法不起作用,因为它对我的多流注册表有问题。 另一个选择可能是不把所有东西放进jar子里,但我不确定这是不是更好的主意。 可能拥有可以从jar中的类路径加载的所有内容,其余部分可以作为定义结构中的纯文件加载。 有任何想法吗? 非常感谢您的努力和提示。

Spring Web Flow – 如何使用conversationScope中已有的值设置unit testing?

我正在使用Spring Web Flow 2.0开发一个项目。 我试图对以决策状态开始的流进行unit testing。 决策状态检查conversationScope上的对象的值。 我无法弄清楚如何将值插入conversationScope进行unit testing。 我试过了: getConversationScope().put(“someName”, value); MockExternalContext context = new MockExternalContext(); startFlow(context); 但是,当我调用startFlow(context)时,似乎清除了该值。 我也尝试过: MockExternalContext context = new MockExternalContext(); setCurrentState(“someDecisionState”); resumeFlow(context) 但是测试失败并且错误地告诉我,我无法从决策状态恢复,只能从视图状态恢复。 有谁知道如何在conversationScope上插入模拟值,以便我可以测试这些情况?

spring webflow使用新项目提交数组

我正在尝试使用spring webflow提交包含新项目的数组。 对于eaxmple,如果myList的大小为3,然后我添加第4项,则提交失败。 那么如何提交这样的表格呢?