2016-09-03 3 views
1

Я разрабатываю приложение, и у меня есть страница, которая делится на три части.JSF Scope Selection

, например:

  1. Выбор файлов (s)
  2. Изменить Файлы (ы)
  3. Просмотр результатов.

Требования:

  • Пользователь может вернуться на страницу 1 со страницы 2 (это не имеет большого значения, перенаправлять работы тоже)
  • Пользователь может вернуться на страницу 2 со страницы 3 (на данный момент мне нужны все данные страницы 2)
  • Пользователь может перейти со страницы 3 на страницу 1 без данных. (Что-то вроде новой модификации файла)

В настоящее время я использую одну единственную .xhtml страницы (панель изменение видимости) и один @ViewScoped боб, но, как я добавить больше функций в этой странице, это становится все больше и трудно сохранить/изменить , Кроме того, я не думаю, что это лучший способ сделать это.

Я начинаю читать о @FlowScoped и @ConversationScoped, но id хотел бы услышать некоторые советы/мнения.

Спасибо!

+2

[Как правильно выбрать сферу боба?] (Http://stackoverflow.com/q/7031885/1391249) – Tiny

ответ

0

В последнее время я был в аналогичной ситуации с вами. Один из уроков, которые я получил от написания приложения в стиле мастера, - это то, что в следующий раз я постараюсь уделить больше внимания неизменяемости и неизменяемым структурам данных (например, тем, которые предлагает Clojure), так что возвращение к предыдущему состоянию легко по мере того, как приложение растет.

Теперь, в зависимости от размера ваших файлов, которые, вероятно, не осуществимы и могут быть излишними. Однако помните, что возврат к одному шагу в мастере требует возврата сделанных модификаций (например, к изменениям в файлах).