Salut,
j'ai une formulaire pour ajouter un étudiant dans la base de données, je veux quand j'ajouter l'étudiant, dans le même temps l'étudiant sera récupérée pour afficher leur formation dans l'autre page welcome
je fais
<f: liaison actionListener = "# {beanEtudiant.getEtd (beanEtudiant.etudiant.id)}" />
Mais ça ne fonctionne pas

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
 
@Entity
public class Etudiant implements java.io.Serializable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "ID")
    @SequenceGenerator(name = "ID", sequenceName = "ID_SQ")
    private int id;
    private String nom;
    private String prenom;
    private int age;
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getNom() {
        return nom;
    }
 
    public void setNom(String nom) {
        this.nom = nom;
    }
 
    public String getPrenom() {
        return prenom;
    }
 
    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
}

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
 
public class ImplEtudiant implements IEtudiant{
 
    @Override
    public void ajoutEtudiant(Etudiant etd) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
        session.save(etd);
        tx.commit();
        session.close();
    }
 
    @Override
    public Etudiant getEtudiant(int id) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Etudiant etd = (Etudiant) session.get(Etudiant.class, id);
        session.close();
        return etd;
    }
}

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
 
@ManagedBean
@ViewScoped
public class BeanEtudiant {
 
    private IEtudiant dao;
    private Etudiant etudiant;
    private List<Etudiant> etudiants;
 
    @PostConstruct
    public void init() {
        etudiant = new Etudiant();
        dao = new ImplEtudiant();
        etudiants = new ArrayList<Etudiant>();
    }
 
    public void ajouc() {
        dao.ajoutEtudiant(etudiant);
        etudiant = new Etudiant();
    }
 
    public Etudiant getEtd(int id) {
        etudiant = dao.getEtudiant(id);
        return etudiant;
    }
index.xhtml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<h:form>
            <h:panelGrid>
                <h:outputText value="nom:" />
                <h:inputText value="#{beanEtudiant.etudiant.nom}" />
                <h:outputText value="prenom:" />
                <h:inputText value="#{beanEtudiant.etudiant.prenom}" />
                <h:outputText value="age:" />
                <h:inputText value="#{beanEtudiant.etudiant.age}" />
            </h:panelGrid>
            <h:commandButton value="sauvegarder" actionListener="#{beanEtudiant.ajouc()}" action="welcome?faces-redirect=true">
                <f:actionListener binding="#{beanEtudiant.getEtd(beanEtudiant.etudiant.id)}" />
            </h:commandButton>
        </h:form>
welcome.xhtml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  <h:form>
            <h:outputText value="#{confirmBean2.etudiant.id}" />
            <h:outputText value="#{confirmBean2.etudiant.nom}" />
            <h:outputText value="#{confirmBean2.etudiant.prenom}" />
            <h:outputText value="#{confirmBean2.etudiant.age}" />
        </h:form>