Bonjour,
je suis débutant en J2E, et j'ai un petit problème sur l'application que j'essaye de mettre en place.
C'est un projet J2E 6, une application war développée sous NetBeans et déployée sur Glassfish 3. J'utilise JPA avec EclipseLink et Derby pour la persistence.
Je veux modéliser un espèce de simulateur de gestion de température dans une maison. J'ai une classe ActorTemp "abstraite" représentant une entité susceptible d'agir sur la température, et 3 autres classes (Fenetre, Radiateur et Reversible) héritant de ActorTemp. J'utilise des formulaires avec JSF pour créer des objets (des maisons, des pieces de maisons..) et j'aimerais donc créer également mes ActorTemp (quels qu'ils soient) avec ce type de formulaires, comprenant une liste déroulante "selectOneMenu" pour choisir la pièce correspondante, et une autre pour choisir le type d'ActorTemp à créer.
Seulement voilà, le fait de choisir le type via cette liste déroulante complique le processus. Je ne sais pas comment m'y prendre : il ne s'agit pas de créer un objet d'une classe connue à l'avance, il faut détecter la classe de l'objet à créer via les données du formulaire.
Voici l'état actuel de mon formulaire :
Avez-vous une idée de la manière dont je pourrais faire cela s'il vous plaît?
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:selectOneMenu value="#{actorController.actor.piece}" converter="pieceConverter"> <f:selectItems value="#{pieceController.itemList}"/> </h:selectOneMenu> <td><h:outputLabel value="Nom : "/></td> <td><h:inputText value="#{actorController.actor.name}" required="true"/></td> <td><h:outputLabel value="Puissance : "/></td> <td><h:inputText value="#{actorController.actor.power}" required="true"/></td> <h:commandButton value="Creer acteur" action="#{actorController.doCreate}"/> </h:form>
Je vous rapelle que je suis débutant, alors si vous notez une énormité dans mon message, soyez indulgents svp
Je suis évidemment à votre disposition pour toute précision complémentaire sur mon code
Je vous remercie !
Partager