2015-01-04 52 views
1

请耐心等待,因为这是我的第一个问题。让我知道我能做些什么来改进未来的问题。Spring Webflow流注册表配置

我想学习Spring Webflow,并且正在慢慢地将我的头包裹在它周围。我发现有很多程序员希望“只知道”的约定,而在线示例似乎不起作用。

我拼凑了一个按预期工作的例子,但现在我试图将我的理解扩展到另一个小项目的下一个级别,我的长期目标是一个更复杂的应用程序。本练习的目标是构建一个支持不同类型的客户端(电话,桌面等)和不同webflow的登录系统。

据我所知,我无法配置流量注册表,可能是因为我误解了这个约定。

我效仿的典型例子是这样的:

<!-- The registry of executable flow definitions --> 
<webflow:flow-registry flow-builder-services="flowBuilderServices" 
      id="flowRegistry" base-path="/WEB-INF/flows/"> 
      <webflow:flow-location path="/welcome/welcome.xml" /> 
</webflow:flow-registry> 

我的配置是这样的:

<!-- The registry of executable flow definitions --> 
<webflow:flow-registry id="flowRegistry" 
    flow-builder-services="flowBuilderServices" 
    base-path="/WEB-INF/pages/"> 
    <webflow:flow-location path="d/login.xml" /> 
    <webflow:flow-location path="d/signup.xml" /> 
</webflow:flow-registry> 

日志状态:

DEBUG o.s.w.d.r.FlowDefinitionRegistryImpl - Registering flow definition 'ServletContext resource [/WEB-INF/pages/d/login.xml]' under id 'd' 

DEBUG o.s.w.d.r.FlowDefinitionRegistryImpl - Registering flow definition 'ServletContext resource [/WEB-INF/pages/d/signup.xml]' under id 'd' 

因为,在幕后,在流注册表是一个简单的HashMap,只有一个流文件正在注册,而不是我所期望的。

我错过了什么?下面提到

回答

0

更改配置,这可能会帮助您:

<webflow:flow-registry id="flowRegistry" 
    flow-builder-services="flowBuilderServices" 
    base-path="/WEB-INF/pages"> 
    <webflow:flow-location path="/d/login.xml" /> 
    <webflow:flow-location path="/d/signup.xml" /> 
</webflow:flow-registry> 

也看到Spring Webflow - How to Get List of FLOW IDs

+0

这有相同的结果。 我怀疑教科书示例的工作原因仅仅是因为目录名称和xml文件的名称相同。 我只需要改变我计划组织的东西来匹配spring-webflow的最佳实践。 谢谢! – 2015-01-08 19:39:57