Witam. Posiadam w aplikacji element panelGrid, którego zawartość tworzę po stronie serwera w obiekcie klasy HtmlPanelGrid i 'podpinam' pod kontrolkę przy pomocy binding:
<ui:composition>
<c:if test="#{sessionScope.filterManager.getActiveFilter() != null}">
<p:panel header="Filtrowanie" widgetVar="panelFilter">
<!-- Ponizej generowany dynamicznie panelGrid -->
<h:panelGrid binding="#{sessionScope.filterManager.getActiveFilter().grid}" id="gridfm" styleClass="filter_grid"/>
<!--
...
...
...
-->
<!-- Poniżej jakieś inne odwołanie do sessionScope.filterManager -->
<p:commandButton ajax="true" update="srodek" value="Domyślne" oncomplete="updategrid()"
actionListener="#{sessionScope.filterManager.getActiveFilter().clearAll}"/>
</c:if>
</ui:composition>
</html>
Wszystko byłoby w porządku, ale odwołanie do: <h:panelGrid binding=.... powoduje utworzenie
nowego obiektu FilterManager w pamięci, pomimo że taki bean już istnieje i ma zasięg sesji! Jeżeli
wykomentuję tę jedną linię, wszystko okay - jest tworzona tylko jedna instancja.
W jaki sposób zmusić kontrolkę, by korzystała z istniejącego obiektu ?