Une astuce pour que NetBeans génère une partie du code du formulaire :
++ Ne marche pas au moment où ces lignes sont écrites à cause du changement d'espaces de noms (javax -> jakarta) dans les noms de paquetage. ++
Commencez par ajouter une méthode getCompte()
qui retourne un CompteBancaire
dans le backing bean. Elle peut contenir, par exemple,
return new CompteBancaire();
Dans la page JSF, le nom du client associé à ce nouveau compte bancaire sera désigné par #{ajoutCompte.compte.nom}
.
Dans la section "content" de la page ajoutCompte.xhtml
, utilisez la palette JSF de NetBeans pour déposer "JSF Form From Entity". Désignez l'entité CompteBancaire
et la méthode que venez de créer dans le backing bean.
Ensuite,
value="#{ajoutCompte.compte.solde}"
par value="#{ajoutCompte.solde}"
.CompteBancaire
, qui vous a été utile pour faire générer le formulaire par NetBeans.Pour seulement 2 attributs, c'est plus simple de taper directement le code. Cette astuce est à connaitre car elle vous sera utile si l'entité a de nombreux attributs.
Cette façon utilise le même principe que l'astuce ci-dessus, en gardant la propriété du backing bean qui contient au début un CompteBancaire
vide dont les attributs (nom et solde) sont remplis dans le questionnaire.
Dans le backing bean, ajoutez une propriété "compte" CompteBancaire
qui désignera le compte bancaire qui sera ajouté.
Dans la page JSF, le nom du client associé à ce nouveau compte bancaire sera désigné par #{ajoutCompte.compte.nom}
.
Le compte doit être créé vide (constructeur sans paramètre) avant l'affichage de la page ; si vous oubliez de créer ce compte vous aurez un message d'erreur lors de l'exécution à cause, par exemple, de #{ajoutCompte.compte.nom}
puisque le setter setNom
ne pourra être appliqué à un objet qui n'existe pas. Si vous choisissez bien la portée du backing bean c'est facile de choisir à quel endroit créer ce compte vide.
Comme pour la première façon, faites un drag and drop de "JSF Form From Entity" dans la bonne zone de la page. Enlevez le code pour l'id (il sera généré lors de l'ajout dans la base de données). Ajoutez les zones pour l'affichage des messages d'erreur (n'oubliez pas de changer le nombre de colonnes du panelGrid).
Ajoutez un bouton ou un lien pour sauvegarder dans la base de données ce qui a été saisi dans le formulaire par l'utilisateur.