0

i learned through searching that i shouldn't be putting the business logic in the getters but i really dont know how to fix it. I read Why JSF calls getters multiple timesand i used but i still dont get the result that i want .

<h:form id="form">
         <h:panelGrid columns="2" cellpadding="5">
           <h:outputText value="Nom personnel : " style="font-size: 18px" />
           <p:selectOneMenu value="#{personnelBean.nom}"  >
        <f:selectItem itemValue="#{null}" itemLabel="--Séléctionner Nom" />
        <f:selectItems value="#{personnelBean.listePersonnels}" var="personnel" 
                       itemValue="#{personnel.nom}" itemLabel="#{personnel.nom}" />
        <f:ajax listener="#{personnelBean.submit()}" render="display"/>
    </p:selectOneMenu>
       </h:panelGrid>
        <h:panelGrid columns="2" cellpadding="5">
           <h:outputText value="Prénom personnel : " style="font-size: 18px" />

           <p:selectOneMenu value="#{personnel1Bean.cin}" id="display" >
                <f:selectItem itemValue="#{null}" itemLabel="--Séléctionner Nom" />
        <f:selectItems value="#{personnel1Bean.listePersonnels}" var="personnel" 
                       itemValue="#{personnel.cin}" itemLabel="#{personnel.prenom}" />
        <f:ajax listener="#{personnel1Bean.submit()}" render="dis"/>
    </p:selectOneMenu>
       </h:panelGrid>
                   <h:outputText value="Nombre d'enfants : "/>
                   <h:outputText id="dis" value="#{personnel1Bean.nombreEnfants}" />
               </h:form>

Personnel1Bean.java

private Integer loadNombreEnfants() {

        String cin = submit();
        System.out.println("CIN" + cin);
        Personnel p = personnelMetier.getPersonnel(cin);
        nombreEnfants = p.getNombreEnfants();
        System.out.println(nombreEnfants);
        return nombreEnfants;
    }
public Integer getNombreEnfants() {
        return nombreEnfants;
    }
 public void ajaxListener(AjaxBehaviorEvent event) {

        nombreEnfants = loadNombreEnfants();
    }
Community
  • 1
  • 1
Marina
  • 71
  • 2
  • 15

0 Answers0