2014-12-18 2 views
0

Можно ли применить поток весеннего webflow к существующим страницам MVC (поддерживаемый @Controller, а не чистый jsp)?Стандарт управления весенним webflow MVC @Conroller pages

например, у меня есть @RequestMapping (/ start) @RequestMapping (/ buy) @RequestMapping (/ confirm) @RequestMapping (/ pay), и я хотел бы поместить их в поток/купить ->/cofirm ->/pay без возможности настраиваемой навигации - могу ли я сделать это с помощью webflow?

AFAIK не возможно, но я хочу убедиться.

ответ

0

Весенний webflow и mvc работают вместе - фактически webflow построен поверх mvc.

Механизмы его настройки - это совсем другое. Я все еще об этом узнал, но вот что, по моему мнению, происходит на основе отслеживания журналов:

При запуске пружинное ядро ​​обрабатывает все аннотации и файлы конфигурации весны. Помимо прочего, он назначает сопоставления URL-адресов для реестра Webflow и классов, аннотированных с помощью @Controller.

Боб org.springframework.webflow.mvc.servlet.FlowHandlerMapping обрабатывает сопоставления для URL веб-потока. Вы должны убедиться, что это интерпретируется перед сопоставлением, зарегистрированным другими способами (xml или @Controller beans).

<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"> 
    <property name="flowRegistry" ref="flowRegistry" /> 
    <property name="order" value="-1" /> 
</bean> 

Во время выполнения URL-адрес передается из механизма сервлетов в преобразователь преобразования mvc. Эта часть движка mvc сканирует все зарегистрированные ресурсы и возвращает первый найденный совпадение.

дан flowregistry боб определяется:

<webflow:flow-registry id="flowRegistry" 
    flow-builder-services="flowBuilderServices" 
    base-path="/WEB-INF/pages/"> 
    <webflow:flow-location path="login.xml" /> 
</webflow:flow-registry> 

Контроллер боб определяется:

@Controller 
@RequestMapping("/login") 
public class LoginController { 
... 
} 

Отображение найдено в WebFlow будет иметь приоритет над найденным в контроллере (если все остальное настроен правильно).

Я обнаружил, что соглашения о настройке веб-проектов не особенно хорошо документированы. Чтобы получить рабочий веб-проект, я закончил извлечение конфигураций из примерно 6 «готовых к запуску» учебных демонстраций. Все имело смысл, когда у меня все началось.

Единственный признак проблем конфигурации заключается в том, что сопоставления не найдены, поэтому вы будете в значительной степени зависеть от регистрации отладки org.springframework.web и org.springframework.webflow, чтобы выяснить, почему сопоставления не найдены. Я закончил отладку в весенний код, прежде чем «получил» его, и я все еще борюсь с некоторыми понятиями.

Надеюсь, это поможет.