Bom dia a todos, estou criando um composite componente para agilizar meu desenvolvimento. Estou utlizando JSF 2.2 + Primefaces 6.0, estou conseguindo fazer os updates dentro do componente porém gostaria que o composite componente também atualizasse outros componentes da view. Existe alguma forma de fazer isso? Já procurei em vários tópicos e nenhum resolveu o meu problema. Seguem abaixo os códigos:
CODIGO datatablePanel.xhtml:
<ui:component xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
xmlns:cc="http://java.sun.com/jsf/composite">
<cc:interface>
<cc:attribute name="controller"
type="br.com.srasystems.integration.controller.generic.GenericController"
required="true" />
<cc:attribute name="var" default="o" />
<cc:attribute name="sortBy" />
<cc:attribute name="rows" default="50" />
<cc:attribute name="title" />
<cc:attribute name="update" />
<cc:attribute name="addFocus" />
<cc:attribute name="editFocus" />
</cc:interface>
<cc:implementation>
<p:panel toggleable="true" id="panel">
<f:facet name="header">
<h:outputText value="" styleClass="fa fa-list st-title-icon" />
<h:outputText value="#{cc.attrs.title}" />
</f:facet>
<f:facet name="actions">
<h:form id="acoes" styleClass="st-form-inline">
<p:commandLink id="excluir" action="#{cc.attrs.controller.excluir()}"
update=""
rendered="#{cc.attrs.controller.permitirExclusao()}"
styleClass="ui-panel-titlebar-icon ui-button ui-state-default ui-corner-all st-title-actions-link">
<h:outputText value="" styleClass="fa fa-eraser st-title-icon" />
<h:outputText value="#{rb['lbl.doDelete']}" />
<p:confirm header="#{rb['lbl.enviroment']}" icon="fa fa-alert"
message="#{rb['msg.confirmDelete']}" />
</p:commandLink>
<p:commandLink id="alteracao"
rendered="#{cc.attrs.controller.permitirAlteracao()}"
action="#{cc.attrs.controller.prepararAlteracao()}"
update=""
styleClass="ui-panel-titlebar-icon ui-button ui-state-default ui-corner-all st-title-actions-link"
oncomplete="selecionar('#{cc.attrs.editFocus}')">
<h:outputText value="" styleClass="fa fa-pencil st-title-icon" />
<h:outputText value="#{rb['lbl.doUpdate']}" />
</p:commandLink>
<p:commandLink id="inclusao" action="#{cc.attrs.controller.prepararInclusao()}"
update=""
rendered="#{cc.attrs.controller.permitirInclusao()}"
styleClass="ui-panel-titlebar-icon ui-button ui-state-default ui-corner-all st-title-actions-link"
oncomplete="selecionar('#{cc.attrs.addFocus}')">
<h:outputText value="" styleClass="fa fa-plus st-title-icon" />
<h:outputText value="#{rb['lbl.doAdd']}" />
</p:commandLink>
</h:form>
</f:facet>
<h:form id="datatable">
<p:dataTable value="#{cc.attrs.controller.lazyDataModel}" var="o"
selection="#{cc.attrs.controller.selecionados}" lazy="true"
rows="#{cc.attrs.rows}" paginator="true" rowSelectMode="checkbox"
emptyMessage="#{rb['msg.emptyData']}"
paginatorPosition="#{rb['prop.paginatorPosition']}"
paginatorTemplate="#{rb['prop.paginatorTemplate']}"
currentPageReportTemplate="#{rb['prop.currentPageReportTemplate']}"
rowsPerPageTemplate="#{rb['prop.rowsPerPageTemplate']}">
<p:ajax event="rowSelectCheckbox"
listener="#{cc.attrs.controller.marcar}"
update="@parent:@parent:acoes #{cc.attrs.update}" />
<p:ajax event="rowUnselectCheckbox"
listener="#{cc.attrs.controller.desmarcar}"
update="@parent:@parent:acoes #{cc.attrs.update}" />
<p:ajax event="toggleSelect"
listener="#{cc.attrs.controller.marcarTodos}"
update="@parent:@parent:acoes #{cc.attrs.update}" />
<p:column selectionMode="multiple" styleClass="st-dt-checkbox" />
<cc:insertChildren />
</p:dataTable>
</h:form>
</p:panel>
</cc:implementation>
</ui:component>
CÓDIGO teste.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:app="http://java.sun.com/jsf/composite/application"
xmlns:sra="http://srasystems.com.br/sra">
<ui:composition template="/system/index.xhtml">
<ui:define name="content">
<app:datatablePanel id="datatablePanel" update="texto"
controller="#{pessoaController}" var="o" title="#{rb['lbl.people']}">
<p:column headerText="ID" sortBy="#{o.id}">
<h:outputText value="#{o.id}" />
</p:column>
<p:column headerText="Nome/Razacao" sortBy="#{o.value}">
<h:outputText value="#{o.value}" />
</p:column>
</app:datatablePanel>
<h:form id="texto">
<h:outputText
value="SELECIONADOS: #{ambienteController.selecionados.size()}" />
</h:form>
</ui:define>
</ui:composition>
</html>
O que gostaria de fazer é atualizar o <h:form id=“texto” porém isso não acontece (Tenho certeza que o componente está funcionando pois é exibida uma mensagem no console quando um objeto é selecionado e os botões de ações são exibidos/escondidos corretamente). Existe alguma forma de fazer isso?
Desde já agradeço a atenção de todos