Spring Web Flow — пример приложения Hello World

Spring Web Flow — Hello World example. Быстрый старт.

Рассмотрим базовые настройки и создание простого потока для демонстрации примера создания приложения с Spring Web Flow + JSF + PrimeFaces.

Используемые технологии:

  • Spring WEB Flow 2.4.1
  • Spring Framework 4.1.5
  • JSF 2.2
  • PrimeFaces 5.2.RC1
  • Maven 3.2.5
  • IntelliJ IDEA 14.1.4
  • JDK 1.8

1. Структура проекта

Spring Web Flow структура проекта Hello World

Как видно из скриншота, здесь базовые xml от спринг и веб-приложения, а так же один поток и два представления.

2. Настройки pom.xml Maven

Описание зависимостей maven можно посмотреть в отдельной статье.

3. Подключение поддержки фреймворков

Для того чтобы подключить фреймворк Spring, JSF и PrimeFaces с помощью IntelliJ IDEA, необходимо нажать правой кнопкой на корневую папку с названием приложения и выбрать Add Framework Support.. Далее отмечаем Spring и JSF. Если зависимости, указанные в maven, были подкачены успешно, то идея предложит использовать библиотеки фреймворков подгруженных maven.

4. Настройка web.xml — дескриптор веб-развертывания

Конфигурация web.xml вместе с поддержкой JSF приведена ниже.

Более подробные объяснения конфигурации web.xml для Spring Web Flow и JSF приведены в отдельной статье.

5. Настройка webflow.xml — файл конфигурации Spring Web Flow

Как настроить webflow.xml (иногда webflow-config.xml) Spring Web Flow можно посмотреть в следующем листинге:

6. Настройка dispatcher-servlet.xml — файл конфигурации сервлета диспетчера для Spring MVC

Технология Spring Web Flow тесно интегрирована с Spring MVC, поэтому конфигурация сервлета диспетчера dispatcher-servlet.xml (иногда servlet-context.xml) настраивается для Spring MVC:

Более подробное описание настройки сервлета диспетчера Spring MVC описано в отдельной статье.

7. Создание простейшего потока и запуск приложения Spring Web Flow Hello World

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

Примечание

Для начала создаем файл описания потока flow.xml:

На что здесь обратить внимание?

start-state=»start» — говорит о том, что при входе в поток будет происходить поиск по id=»start». А дальше выполнено то, что указано под этим айдишником.

Здесь описано состояние потока, в котором отображается представление JSF start.xhtml, а так же описан переход к состоянию contactListView при событии next.

Далее два простейших представления:

start.xhtml

contactListView.xhtml

Здесь всё просто — при нажатии кнопки с названием next, будет выполнен action=»next». Это будет перехвачено состоянием потока и произойдет переход, указанный в transition on=»next» к второму представлению.

Замечание
  • В начале можно было увидеть, что заданы зависимости для тем PrimeFaces, но здесь они еще не включены. Обратите внимание, что без тега <h:head> </h:head> ресурсы (пакет resources) вообще не будут грузиться! Для того, чтобы подключить тему PrimeFaces, нужно в web.xml добавить

На второй странице добавлена кнопка, завершающая поток при переходе в состоянии end-state. Обратите внимание как меняется URL в браузере при нажатии кнопок next, back, end.

SWF HelloWorld firstPage

После нажатия на кнопку next переходим к второму представлению

SWF HelloWorld secondPage

 

 

Исходные коды

Spring Web Flow Hello World

 

 

Share Button
6
11058 Total Views 1 Views Today

One thought on “Spring Web Flow — пример приложения Hello World

  1. Денис:

    Здравствуйте, я создал Spring-компонент и контроллер. Проблема заключается в том, что в представлении, которое возвращает контроллер, не доступны spring-компоненты. Подскажите, пожалуйста, в чем может быть дело?

Добавить комментарий