Ciao gente,
sto sviluppando un progetto con JSF: in una pagina ho una tabella che mi mostra i campi di un bean per tutte le istanze di quel bean (una lista):
codice:
<t:dataTable id="data" styleClass="scrollerTable"
headerClass="standardTable_Header"
footerClass="standardTable_Header"
rowClasses="standardTable_Row1,standardTable_Row2" columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
var="bean" value="#{manager.existingModules}" preserveDataModel="false"
rows="15">
<h:column>
<f:facet name="header">
<h:outputText value="Title" />
</f:facet>
<h:outputText value="#{bean.title}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Author" />
</f:facet>
<h:outputText value="#{bean.author}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Date" />
</f:facet>
<h:outputText value="#{bean.date}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Keywords" />
</f:facet>
<h:outputText value="#{bean.keywords}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Comments" />
</f:facet>
<h:outputText value="#{bean.comments}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Details" />
</f:facet>
<h:commandLink action="view-module" actionListener="#{module.listen}" title="View module">
<t:graphicImage url="/images/module.png" border="0" />
</h:commandLink>
</h:column>
</t:dataTable>
Spiego: il progetto consiste in un repository di moduli, intesi come contenitori di documenti: il modulo (che nel disco non è altro che una cartella) è identificato da titolo, autore, data, parole chiave e commenti. Conterrà dei file, a loro volta identificati da dei metadati...
Quindi la tabella carica tutti i bean dalla lista "existingModules" e itera su questi.
Il problema è questo: se una riga della tabella corrisponde a un bean, l'ultimo "campo" è un bottone che dovrebbe aprirmi una nuova pagina con i dettagli di QUEL modulo: e come faccio ad associare al bottone il particolare bean al quale mi riferisco?