В JSF 2 вы можете передавать идентификаторы, строки, которые могут быть отправлены в качестве параметров запроса либо f:viewParam
, либо @ManagedProperty
(т. Е. Обсуждение here).Передача объектов между представлениями
Однако, я хотел бы обойти объекты между видами, от view1 до view2. Мои бобы - @ViewScoped
. Я попытался следующие:
<f:setPropertyActionListener value="#{view1Bean.myObject}" target="#{view2Bean.myObject}" />
Это создает view2Bean
на view1, которая больше не существует при просмотре view2. Итак, view2Bean.myObject
- null
, потому что свойство никогда не было установлено в конкретном экземпляре view2bean
.
Я рассмотрел использование области флэш-памяти, которая, по-видимому, является инструментом для этого. Тем не менее, я читал BalusC где-то, говоря, что он сломан в Мохарре, который я использую.
Каков наилучший способ обхода объектов между видами?
Обычно область сеанса существует для объектов, которые необходимо выжить, если вы измените их между видами. –