【发布时间】:2011-02-07 17:43:39
【问题描述】:
我将 SWF 2.1 与 Spring 2.5.6 一起使用。并试图让 2.1 的默认映射策略正常工作。我之前一直在使用 1.0 默认的映射策略(从请求参数中检索流 id)
在 spring MVC 配置中,我使用 simpleUrlMapping 策略(order = 1)并声明了 SimpleControllerHandlerAdapter bean。
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
SWF 配置:
<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">
<property name="flowExecutor" ref="flowExecutor"/>
</bean><!--
Launches new flow executions and resumes existing executions. -->
<webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry">
<webflow:flow-execution-repository max-executions="5" max-execution-snapshots="80"/>
</webflow:flow-executor>
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
<property name="flowExecutor" ref="flowExecutor" />
</bean>
<!--
Creates the registry of flow definitions for this application -->
<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices" base-path="/WEB-INF/flows">
<webflow:flow-location-pattern value="/**/*-flow.xml"/>
</webflow:flow-registry>
<webflow:flow-builder-services id="flowBuilderServices" view-factory-creator="viewFactoryCreator" development="true"/>
<bean id="viewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="viewResolvers">
<list>
<ref local="beanNameViewResolver"/>
<ref local="internalResourceViewResolver"/>
</list>
</property>
</bean>
<!-- Maps request paths to flows in the flowRegistry;
e.g. a path of /hotels/booking looks for a flow with id "hotels/booking" -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping" p:order="0">
<property name="flowRegistry" ref="flowRegistry"/>
</bean>
这是web文件夹中的目录结构:
/WEB-INF/flows/flow1-name/flow1-flow.xml
/WEB-INF/flows/flow2-name/flow2-flow.xml
/WEB-INF/flows/flow3-name/flow3-flow.xml
我一直在尝试通过访问来访问流
http://www.appdomain.com/flow1-name
映射不起作用,我得到 404。
另外,我应该如何命名子流,我应该把它们放在哪里?我希望能够从多个顶级流访问子流。
【问题讨论】: