Bonjour,

Je cherche à créer un client via JSF pour l'afficher dans un dataTable.
Je dois utiliser la fonctionnalité de JSF pour créer le client. Autrement dit, je ne dois pas faire Client c = new Client(nom, prenom);

Dans la vue, j'ai "clientEdition.jsp"

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
 
<f:view>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link href="bootstrap/css/bootstrap.css" rel="stylesheet">
        <link href="bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
        <link href="bootstrap/css/docs.css" rel="stylesheet">
        <link href="bootstrap/js/google-code-prettify/prettify.css" rel="stylesheet">
        <title>JSP Page</title>
    </head>
    <body>
         <h:form id="EditionClient">
                <h:outputLabel id="labelName" for="nom" value="Nom"/>
                <h:inputText id="nom" required="true" value="#{clientEditionBean.client.nom}"/>     
 
                <h:outputLabel id="labelFirstName" for="prenom" value="Prénom"/>
                <h:inputText id="prenom" required="true" value="#{clientEditionBean.client.prenom}"/>
                <br/>
                <h:commandButton id="edition" styleClass="btn btn-primary" type="submit" value="Créer Client" action="#{clientEditionBean.addClient}"/>
 
        </h:form>
 
    </body>
</html>
</f:view>
Dans la couche présentation, j'ai "clientEditionBean"

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
 
@ManagedBean(name="clientEditionBean")
@SessionScoped
public class ClientEditionBean implements Serializable {
 
    private Client client;
 
    public ClientEditionBean(){};
 
    public String addClient() {
        ClientService.addClient(client);
        return "CleNavigation";
    }
    /**
     * @return the client
     */
    public Client getClient() {
        return client;
    }
 
    /**
     * @param client the client to set
     */
    public void setClient(Client client) {
        this.client = client;
    }
J'ai l'erreur suivante lorsque je soumets le formulaire (lorsque je clique sur Créer Client) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
javax.el.PropertyNotFoundException: Target Unreachable, 'null' returned null
J'imagine que la cible (Target) est Client. Mais je ne comprends pas pourquoi le client serait null. Dans Scoped Variables, nom et prenom sont renseignés.
Lorsque je remplace l'objet client, par 2 paramètres String (nom, prénom), tout fonctionne parfaitement. Néanmoins, pour l'exercice, je ne dois pas faire de bricolage avec des String.