【问题标题】:Unable to get FlowHandlerMapping working in Spring Webflow无法让 FlowHandlerMapping 在 Spring Webflow 中工作
【发布时间】: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。

另外,我应该如何命名子流,我应该把它们放在哪里?我希望能够从多个顶级流访问子流。

【问题讨论】:

    标签: spring-mvc spring-webflow


    【解决方案1】:

    我不知道您在 web.xml 中的 servlet 映射是什么样的,但http://www.appdomain.com/flow1-name 似乎不包括您的 web 应用程序的名称,也可能包括您的 servlet 映射的名称。检查 DispatcherServlet 是否已经到达。您可以通过启用 org.springframework.web 和 org.springframework.webflow 日志记录类别并查找输出来做到这一点。

    【讨论】:

    • 您好,感谢您的回复。 web.xml 中的 servlet 映射正在工作。如果我将 URL 更改为映射到普通 MVC 控制器的 URL,它可以正常工作。
    猜你喜欢
    • 2012-10-14
    • 2013-01-04
    • 2013-12-01
    • 1970-01-01
    • 2013-05-28
    • 2012-10-14
    • 2019-01-28
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多