Невозможно заставить FlowHandlerMapping работать в Spring Webflow - PullRequest
1 голос
/ 07 февраля 2011

Я использую SWF 2.1 с Spring 2.5.6.и я пытаюсь заставить работать стратегию отображения по умолчанию для 2.1.Ранее я использовал стратегию отображения, которая была по умолчанию 1.0 (при этом идентификатор потока был получен из параметров запроса)

В весенней конфигурации MVC я использую стратегию simpleUrlMapping (order = 1) и имеюобъявлен бин SimpleControllerHandlerAdapter.

<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-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.

Кроме того, как я должен называть подпотоки и где их размещать?Я хотел бы иметь возможность получить доступ к подпотокам из более чем одного потока верхнего уровня.

1 Ответ

1 голос
/ 08 февраля 2011

Я не знаю, как выглядит ваше отображение сервлета в web.xml, но http://www.appdomain.com/flow1-name не содержит названия вашего веб-приложения и, возможно, имени вашего отображения сервлета. Проверьте, достигнут ли DispatcherServlet вообще. Это можно сделать, включив категории журналов org.springframework.web и org.springframework.webflow и выполнив поиск.

...