Содержание
В этой статье будет показано как настроить проект для дальнейшего использования Spring Web Flow.
Конфигурационный файл сервлета SWFHelloWorld (/WEB-INF/SWFHelloWorld-servlet.xml) выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:flow="http://www.springframework.org/schema/webflow-config"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/webflow-config
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.seostella.swfhelloworld" />
<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry" />
<flow:flow-registry id="flowRegistry"
flow-builder-services="flowBuilderServices"
base-path="/WEB-INF/flows">
<flow:flow-location-pattern value="/**/*-flow.xml" />
</flow:flow-registry>
<flow:flow-builder-services id="flowBuilderServices"
view-factory-creator="mvcViewFactoryCreator"/>
<bean id="mvcViewFactoryCreator"
class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="defaultViewSuffix" value=".jspx" />
</bean>
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry" />
</bean>
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
<property name="flowExecutor" ref="flowExecutor" />
</bean>
</beans>
Эта статья не ставит своей задачей полностью раскрыть тему использования Spring Web Flow. Поэтому разберем только 2 фрагмента из этой конфигурации. Первый:
...
<context:component-scan base-package="com.seostella.swfhelloworld" />
...
com.seostella.swfhelloworld - пакет, в котором будет происходить поиск на компоненты приложения и, собственно, обработчик действий. В данном примере в пакете com.seostella.swfhelloworld не будет исходников, но в будущем эта конструкция нам еще понадобится.
Следующим кодом определяем, что наши списки действий будут лежать в поддиректории директории /WEB-INF/flows и имя файла будет оканчиваться на -flow.xml. Например, /WEB-INF/flows/signin/signin-flow.xml.
...
<flow:flow-registry id="flowRegistry"
flow-builder-services="flowBuilderServices"
base-path="/WEB-INF/flows">
<flow:flow-location-pattern value="/**/*-flow.xml" />
</flow:flow-registry>
...
В завершающей части статьи представлено получившееся веб-приложение...
< | Spring Web Flow. Hello World! Часть 3. Настройка SWF | Spring Web Flow. Hello World! Часть 5 | > |