2010-10-06 2 views
0

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

фон

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

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

Вопросы

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

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

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

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

ответ

1

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

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

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

+0

Можете привести пример вводаHidden и setPropertyActionListener, пожалуйста? – lajuette

Смежные вопросы