[PrimeFaces] Récupérer ligne active datatable
Bonjour à tous j'essaie de faire un truc qui semble simple mais qui ne fonctionne pas...
voici le message d'erreur :
Grave: Servlet.service() for servlet [FacesServlet] in context with path [/SagaieCentreIhm] threw exception [/pages/creationStagiaire.xhtml @74,64 value="#{visualiserIndividuMng.individuSelected.nom}": Target Unreachable, 'individuSelected' returned null] with root cause
javax.el.PropertyNotFoundException: /pages/creationStagiaire.xhtml @74,64 value="#{visualiserIndividuMng.individuSelected.nom}": Target Unreachable, 'individuSelected' returned null
et voici mon code :
pages web
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition 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:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="./../WEB-INF/template/template.xhtml">
<ui:define name="content">
<h:form>
<p:dataTable id="individus" var="individu" value="#{visualiserIndividuMng.individuList}" >
<p:column>
<p:commandButton id="selectButton" onclick="individudlg.update()" icon="ui-icon-search" title="View">
<f:setPropertyActionListener value="#{individu}" target="#{visualiserIndividuMng.individuSelected}" />
</p:commandButton>
</p:column>
<p:column headerText="Nom">
<h:outputText value="#{individu.nom}" />
</p:column>
<p:column headerText="Prénom">
<h:outputText value="#{individu.prenom1}" />
</p:column>
<p:column headerText="Date de Naissance">
<h:outputText value="#{individu.dateNaissance}">
<f:convertDateTime type="date" pattern="dd-MM-yyyy" />
</h:outputText>
</p:column>
</p:dataTable>
<p:dialog widgetVar="individudlg">
<p:accordionPanel multiple="true" id="display" >
<p:tab title="Détail individu">
<h:panelGrid style="width:100%" id="test" columns="2"
cellpadding="5">
<h:panelGrid id="individuDetail" columns="2"
columnClasses="label,value" cellpadding="5">
<h:outputLabel value="Nom " />
<p:inputText
value="#{visualiserIndividuMng.individuSelected.nom}"></p:inputText>
</h:panelGrid>
</p:tab>
</p:accordionPanel>
<p:commandButton value="Valider" onclick="individudlg.hide()">
</p:commandButton>
</p:dialog>
</h:form>
</ui:define>
</ui:composition> |
et le manager
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
/**
*
*/
package sagaie.local.ihm.gestionnaire.stage;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import sagaie.local.ihm.bean.stage.IndividuIHM;
import sagaiecentre.dto.stage.FiltreDTO;
import sagaiecentre.dto.stage.IndividuDTO;
import sagaiecentre.transformation.stage.VisualiserIndividuWS;
/**
* @author ludovic
*
*/
@ManagedBean
@ViewScoped
public class VisualiserIndividuMng {
/**
*
*/
private List<IndividuIHM> individuList;
private VisualiserIndividuWS transform;
private IndividuIHM individuSelected;
@PostConstruct
void init() {
individuList = new ArrayList<IndividuIHM>();
try {
individuList = chargerIndividu();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List<IndividuIHM> chargerIndividu() throws RemoteException{
List<IndividuDTO> individuDTOList = new ArrayList<IndividuDTO>();
FiltreDTO filtreDTO = new FiltreDTO();
transform = new VisualiserIndividuWS();
individuDTOList = transform.transformeVisualiserIndividuAvecFiltre(filtreDTO);
for (IndividuDTO individuDTO : individuDTOList) {
this.individuList.add(new IndividuIHM(individuDTO));
}
return individuList;
}
public void test (){
System.out.println("essaie ou pas de setter donnée");
System.out.println(individuSelected.getNom());
}
/**
* @return the individuSelected
*/
public IndividuIHM getIndividuSelected() {
return individuSelected;
}
/**
* @param individuSelected the individuSelected to set
*/
public void setIndividuSelected(IndividuIHM individuSelected) {
this.individuSelected = individuSelected;
}
/**
* @return the individuList
*/
public List<IndividuIHM> getIndividuList() {
return individuList;
}
/**
* @param individuList the individuList to set
*/
public void setIndividuList(List<IndividuIHM> individuList) {
this.individuList = individuList;
}
} |
Voila j'ai bien un constructeur par défaut dans IndividuIHM$
c'est quand je clic sur le bouton selectButton que ça bug
merci pour vôtre aide