Pessoal, tenho um datatable que lista notificações. Eu queria que fosse possível detalhar cada notificação em uma outra página.
Como cada linha da lista tem um ID, quero pegá-lo e utilizá-lo na datatable da outra página.
Eu pego o ID da linha assim:
<p:dataTable id="notifs" var="search" value="#{searchBean.listSymptom}" rendered="#{!empty searchBean.listSymptom}">
<p:column>
<c:facet name="header">
<h:outputText value="ID" />
</c:facet>
<h:link outcome="showIndNotifSearch" value="#{search.code}">
<c:param name="code" value="#{search.code}" />
</h:link>
</p:column>
</p:dataTable>
A próxima página(showIndNotifSearch.xhtml) está assim:
<c:view>
<c:metadata>
<c:viewParam name="code" id="code" value="#{searchBean.selected.code}"></c:viewParam>
</c:metadata>
</c:view>
<h:form id="texto" styleClass="centered">
<h:outputText value="#{searchBean.selected.code}" /> <!-- imprime o valor do code -->
<p:dataTable id="notifs" var="cli" value="#{clinDataBean.listDataNotifSearch}" >
</p:dataTable>
Meu bean tem isso:
public List<ClinData> getListDataNotifSearch() {
if (this.listDataNotifSearch == null) {
ClinDataRN clinDataRN = new ClinDataRN();
this.listDataNotifSearch = clinDataRN.listDataNotifSearch();
}
return this.listDataNotifSearch;
}
Eu gostaria de saber se tem como eu pegar esse code e utilizá-lo no meu método listDataNotifSearch() do meu Bean.
Eu já tentei fazer da seguinte forma, mas não funciona:
<p:dataTable id="notifs" var="cli" value="#{clinDataBean.listDataNotifSearch(code)}" >
</p:dataTable>
e o Bean:
public List<ClinData> getListDataNotifSearch(Integer code) {
if (this.listDataNotifSearch == null) {
ClinDataRN clinDataRN = new ClinDataRN();
this.listDataNotifSearch = clinDataRN.listDataNotifSearch(code);
}
return this.listDataNotifSearch;
}
Agradeço desde já por qualquer ajuda. =)