Spring Web Flow
Spring Web Flow основан на Spring MVC и позволяет реализовать "потоки" web-приложений. Поток представляет собой последовательность шагов, которые необходимо совешить для выполнения поставленной бизнес-задачи. Он состоит из множества НТТР-запросов, имеющими состояния, оперирующие данными по транзакции, повторно используемые, которые могут быть как короткосрочными, так и долгоживущими.
Быстрый старт

Введение

Главным достоинством Spring Web Flow является сохранение состояний web-приложений с контролируемым поведением, таких как регистрация рейсов, получении кредита, оплата на кассах или добавление шага с подтверждением в форму. Все эти сценарии имеют одну или несколько общих черт:

  • Однозначное определение начала и конца
  • Пользователь должен пройти последовательность шагов в определенном порядке
  • Изменения не будут сохранены, пока не будет пройден последний шаг
  • После завершения не должно быть возможности случайно повторить транзакцию

Быстрый старт

Загрузка
Maven
Gradle

Рекомендованный путь для начального использования spring-webflow в вашем проекте с использованием системы управления зависимостями – скопировать фрагмент кода ниже и вставить в вашу конфигурацию сборки. Нужна помощь? Ознакомьтесь с нашими руководствами по созданию приложений с использованием Maven и Gradle.

<dependencies>
    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-webflow</artifactId>
        <version>2.3.3.RELEASE</version>
    </dependency>
</dependencies>

Spring Web Flow предоставляет декларативный язык описания потоков высокого уровня абстракции. Он может быть интегрирован с широким диапазоном приложений с небольшими изменениями(модель поточного программирования), включая Spring MVC, JSF и даже web-приложения, которые используют Portlet. Ниже приведены наиболее частые проблемы, которые существуют у web-приложений с сохранением состояний и имеющие определенные требования по поведению:

  • Очень сложная визуализация потока
  • Приложение содержит много кода для доступа к НТТР-сессии
  • Обеспечение управления поведения важно, но невозможно
  • Правильная поддержка кнопки "Назад" браузера кажется недостижимой
  • Браузер и сервер не синхронизируются при нажатии кнопки "Назад"
  • Множество вкладок в браузере создают проблему паралеллизма обработки данных в пределах одной НТТР-сессии

Spring Web Flow позволяет решить все эти проблемы.

comments powered by Disqus
Spring Web Flow
Версия
Документация
Примеры проектов