Поток данных между представлениями в JSF 2 - PullRequest
0 голосов
/ 06 октября 2010

Я сейчас создаю свое первое приложение JSF 2, и у меня есть несколько вопросов относительно потока данных между представлениями.

Справочная информация

Приложение отслеживает компетенцииИТ-консультантов.Чтобы проиллюстрировать мои вопросы, я просто опишу небольшую его часть.Компетентный объект имеет отношение «многие к одному» с объектом «Район», объединяя различные компетенции в группы.У меня есть представления для обработки этих: Competence.xhtml , EditCompetence.xhtml и EditCompetenceArea.xhtml .Они поддерживаются ManagedBean, AdminCompetenceController .

Competence.xhtml перечисляет все Области в таблице и перечисляет все Компетенции в Области, если пользователь нажимает на ее строку.Он также имеет новую кнопку для компетенций и областей, а также кнопку «Редактировать» для каждой компетенции и области.это приводит к EditCompetence.xhtml и EditCompetenceArea.xhtml соответственно, где пользователь может заполнить информацию о компетенции или области.

Вопросы

  • Каков рекомендуемый способ обработки потока информации между этими страницами?Например: EditCompetenceArea.xhtml должен знать, какую область он должен редактировать (или если он должен создать новую).Должен ли я иметь один поддерживающий бин на просмотр или один для всех?Должна ли это быть область действия сеанса и отслеживать выбранную область / компетенцию с помощью переменных?Или это должно быть View scoped и отправить id выбранного объекта с viewParams?Можно ли даже использовать область запроса?Я пробовал несколько из них и столкнулся с практическими проблемами с каждым методом.

  • Можно ли использовать viewParam для передачи информации между представлениями с использованием различных компонентов поддержки?

  • Можно ли использовать viewParam с компонентом запроса в области видимости?Кажется, что данные исчезают из bean-компонента, прежде чем я смогу использовать его в обратной передаче.

Кроме того, если кто-то может порекомендовать какой-либо материал для чтения (желательно бесплатный, онлайн), касающийся более общих шаблонов проектирования, а не конкретных меньшихпроблемы в JSF 2 , я был бы очень признателен.

1 Ответ

1 голос
/ 07 октября 2010

Чтобы сохранить данные в разговорах с одним и тем же видом, поместите компонент в область видимости. Данные будут потеряны после перехода в другое представление.

Чтобы сохранить данные в диалогах с различными представлениями, либо поместите bean-компонент в область сеанса, чтобы сохранить его живым среди всех запросов / представлений, либо используйте <h:inputHidden>, <f:setPropertyActionListener> и т. Д., Чтобы сохранить данные области запроса в следующем запросе. 1005 *

В вашем конкретном случае я бы пошел с одним основным @ViewScoped бином и одним представлением CRUD, в котором таблица отображения и форма редактирования включены / отображаются условно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...