passer un paramétre d'un bean à un autre
Bonjour,
J'aimerais afficher une datatable contenant une liste d'agents sélectionnables, puis après validation, je veux récupérer l'id de l'agent sélectionné.
1- voici mon code, pour la page jsf
Code:
1 2 3 4 5 6 7 8 9 10 11
| <h:dataTable value="#{agentController.items}" var="item" id="datalist" >
<h:column>
<h:commandLink value="#{item.nom}" action="#{agentController.view(item.nom)}" >
<br/>
</h:commandLink>
</h:column>
</h:dataTable> |
2- dans son bean agentController :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public String nom;
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String view(String value) throws IOException, JAXBException {
nom = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("nom");
return "ViewAgent.xhtml?faces-redirect=true";
} |
3- dans le bean de la page ViewAgent :
Code:
1 2 3 4 5 6 7 8 9 10 11
| @ManagedProperty(value="#{agentController}")
private AgentController agentcontroller;
public AgentController getAgentcontroller() {
return agentcontroller;
}
public void setAgentcontroller(AgentController agentcontroller) {
this.agentcontroller = agentcontroller;
}
rs = connexion_à_mysql.interogerAbout( "select * from agent where Nom='"+agentcontroller.nom+"'; "); |
l'erreur est :
Citation:
Impossible d?instancier la classe «org.primefaces.examples.view.DrMapBean».