Bonjour,

J'ai créé un formulaire avec un bouton modifier qui utilise ajax. Il doit poster via un execute="@form" tout le formulaire.
Bizarrement cela fonctionne très bien la 1ère fois mais au second essai cela ne prend plus en compte les modifications du formulaire bien qu'il effectue la requête ajax et méthode du render.
Le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 <ui:define name="content">
<h:form id="formRecherche">     
      <h:outputLabel value="avec Définition" for="avecDefinition" />
      <h:selectBooleanCheckbox value="#{termeBean.rechercheBean.avecDefinition}" id="avecDefinition" />
      <h:commandButton value="Modifier" id="btnRechercher">
        <f:ajax execute="@form" render="listeTermesSpecifique" id="ajax"/>
      </h:commandButton>    
 
      <p><h:outputText value="#{termeBean.listeTermesSpecifique}" id="listeTermesSpecifique" escape="false" /></p>
    </h:form>
  </ui:define>
Le TermeBean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
@ManagedBean(name = "termeBean")
@Service("termeBean")
public class TermeBean implements InitializingBean {
 
  private Integer idTerme;
  private Topic terme;
  @Autowired
  private RechercheBean rechercheBean;
 
  @Override
  public void afterPropertiesSet() throws Exception {
  }
 
  public Integer getIdTerme() {
    return idTerme;
  }
 
  public void setIdTerme(Integer idTerme) {
    this.idTerme = idTerme;
    this.terme = rechercheBean.getMondeca().getTermePreferentiel(idTerme);
  }
 
  public RechercheBean getRechercheBean() {
    return rechercheBean;
  }
 
  public void setRechercheBean(RechercheBean rechercheBean) {
    this.rechercheBean = rechercheBean;
  }
 
  public String getListeTermesSpecifique() {
    System.out.println("getListTermesSpecifique");
    return "Option DF : " + rechercheBean.getAvecDefinition().toString() + " - Groupe : " + rechercheBean.getAvecGroupe().toString();
 
  }
 
  public Topic getTerme() {
    return terme;
  }
 
  public void setTerme(Topic terme) {
    this.terme = terme;
  }
}
Le rechercheBean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
@ManagedBean(name = "rechercheBean")
@Service("rechercheBean")
public class RechercheBean implements InitializingBean {
 
 
 
  private Boolean avecDefinition = false;
 
 
  public RechercheBean() {
    System.out.println("RechercheBean créé");
  }
 
 
 
 
 
  @Override
  public void afterPropertiesSet() throws Exception {
  }
 
  // Accesseurs
  public Boolean getAvecDefinition() {
    return avecDefinition;
  }
 
  public void setAvecDefinition(Boolean avecDefinition) {
    this.avecDefinition = avecDefinition;
  }
 
}
Dans les requêtes ajax envoyé par le navigateur, je vois bien pourtant les éléments du formulaire qui ont été modifié. C'est donc le "RechercheBean" qui n'est pas mis à jour a partir du second appel, mais je ne sais pas pourquoi.

Merci pour votre aide