Как использовать один и тот же набор данных для разных бобов? - PullRequest
1 голос
/ 14 февраля 2012

Можно ли использовать один и тот же набор данных с несколькими источниками данных? Если да, то как? Может ли кто-нибудь дать мне пример этого? Если быть более точным, можем ли мы связать / развязать разные источники с возможностью датирования программно?

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

Да, это возможно.Обычно вы устанавливаете атрибут значения вашего объекта данных на List<MyClass>, где MyClass может быть pojo или сущностью.Список является переменной экземпляра вашего компонента поддержки и, конечно, переменная может изменяться во время выполнения.

1 голос
/ 15 февраля 2012

Некоторые примеры кода приведены ниже для ясности ...

<p:selectOneRadio id="myRadio" value="#{beanProductDetails.selectedtype}">
    <f:selectItems value="#{bean.types}"/>
    <f:ajax event="valueChange" update="panel_CATALOG" listener="#{bean.typeChanged}" />
</p:selectOneRadio>


<h:panelGrid id="panel_CATALOG">
    <p:dataTable id="table_Details" value="#{bean.list_Details}">
        ........
    </p:dataTable>
</h:panelGrid>

Предоставьте selectOneRadio, чтобы решить, какой источник данных использовать.Здесь, в методе bean-компонента typeChanged, определите, что должно быть list_Details в зависимости от выбранного типа.

1 голос
/ 15 февраля 2012

Вы можете использовать Composite Component, для получения дополнительной информации следуйте этому руководству

http://courses.coreservlets.com/Course-Materials/pdf/jsf/jsf2/JSF2-Composite-Components.pdf

и образец файла существует по этому пути

http://www.coreservlets.com/JSF-Tutorial/jsf2/code/composite-components.zip

...