Я добавляю Spring Web Flow 2 к очень большому существующему веб-приложению, которое в настоящее время не использует Spring MVC или Web Flow. Моя задача - запустить веб-поток, перейдя на mySite.com/flows, и у меня возникают трудности. Мой подход состоял в том, чтобы настроить DispatcherServlet с отображением /flows/*
и отобразить веб-поток до /flows
. Вот мой web.xml, где настроен DispatcherServlet:Отображения запросов Spring Web Flow
<servlet>
<servlet-name>flow</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/flowContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>flow</servlet-name>
<url-pattern>/flows/*</url-pattern>
</servlet-mapping>
Я попробовал несколько способов, чтобы получить Web Flow для отображения на /flows
. Моя первая попытка была использовать проточные реестра с base-path
настройки:
<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices" base-path="/WEB-INF/app/flows">
<webflow:flow-location-pattern value="**/*-flow.xml" />
</webflow:flow-registry>
Я понимаю, что это будет иметь структуру папок внутри /WEB-INF/app/flows
создать отображение запроса. Мой первый тест состоял в том, чтобы добавить мой поток, booking-flow.xml
внутри подпапки под названием booking
(/WEB-INF/app/flows/booking
). И здорово! - он работал, как ожидалось. Мне удалось получить доступ к потоку из mySite.com/flows/booking. Хорошо, но я не хочу /booking
в URL-адресе, поэтому я переместил booking-flow.xml
из папки booking
и прямо в WEB-INF/app/flows
и ожидал, что это сработает для меня, но это не так. Я не думаю, что поток, отображаемый на все.
Кто-нибудь знает, как я могу отобразить поток в корень сопоставления DispatcherServlet, или есть лучший способ приблизиться к этому? Я не хочу, чтобы DispatcherServlet обрабатывал любые запросы за пределами /flows
в моем приложении. Это только я, или есть очень мало документации, доступной в Spring Web Flow?
Спасибо!
Лучший вариант без внесения каких-либо изменений в структуру dir заключается в удалении 'потоков' из' path'. См. Ответ ниже. –