s:link inside datatable and parameter
matthieugd Jan 5, 2009 1:53 PM.Hello,
I try to add an s:link inside a richfaces datatable which opens a new window (or new tab) by calling a action with an object as parameter
Here's my datatable :
<rich:column headerClass="caption"> <f:facet name="header"></f:facet> <h:commandLink id="lienModifierCompte" target="_blank" rendered="#{dossier.compteExistant}" action="#{consultationCompte.consulterCompte(dossier)}">modifier</h:commandLink> <s:link id="lienCréerCompte" rendered="#{!dossier.compteExistant}" action="#{creationCompte.initCreationCompte(dossier)}" value="créer"/> </rich:column>
My search bean as the list as DataModel :
@Stateful @Scope(ScopeType.SESSION) @Name("recherchePersonne") public class RecherchePersonneBean implements RecherchePersonne { @EJB private DifSF service; /** * Collection résultat */ @DataModel private List<Dossier> dossierResultats; (...)
And the bean called by the s:link :
@Begin public void initCreationCompte(Dossier dossier) { currentDossierDIF = dossier; }
The h:commandlink works but the dossier parameter of the s:link is always null. I've seen the booking example and it seems to be the same as my requirement but I can't find my problem. When I execute the booking sample one difference is the href generated, the dataModelSelection argument is missing in the URL generated in my datatable but I don't see where does it come, the bean HotelSearchingAction defined only a DataModel (the search result list) but no dataselectionmodel.
http://localhost:8080/seam-booking/main.seam?actionMethod=main.xhtml%3A hotelBooking.selectHotel%28hot%29&cid=12&dataModelSelection=hot%3Ahotels%5B4%5D
and mine is :
http://localhost:8080/dif/resultatRecherche.seam?actionMethod=resultatRecherche.xhtml%3 AcreationCompte.initCreationCompte%28dossier%29&cid=2
The Dossier class is a POJO from a jar library, it's not a component defined.
I've seen this thread (http://seamframework.org/Community/ConversationLifecycleQuestion ) with the same problem.