IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

problème avec un selectOneMenu


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 42
    Points : 27
    Points
    27
    Par défaut problème avec un selectOneMenu
    Bonjour,

    J'ai un petit problème concernant un selectOneMenu de ma page jsf.

    Dans la page, je créé un formulaire dans le lequel j'enregistre une personne avec comme attributs (login, password, nom, prenom, droit et services).

    J'ai une liste déroulante pour sélectionner le service.

    voici le code de ma 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <body>
    	<f:view>
    		<div id="bandeau">
    			<h:outputText value="Bienvenue sur la page d'inscription"/>
    		</div>
    		<div id="menu">
    			<h:form>
    			<h:panelGrid columns="2">
    				<h:column>
    					<h:outputText value="Login : "/>
    				</h:column>
    				<h:column>
    					<h:inputText value="#{personnelController.login}"/><br>
    				</h:column>
    				<h:column>
    					<h:outputText value="Mot de passe : "/>
    				</h:column>
    				<h:column>
    					<h:inputText value="#{personnelController.password}"/><br>
    				</h:column>
    				<h:column>
    					<h:outputText value="Nom : "/>
    				</h:column>
    				<h:column>
    					<h:inputText value="#{personnelController.nom}"/><br>
    				</h:column>
    				<h:column>
    					<h:outputText value="Prenom : "/>
    				</h:column>
    				<h:column>
    					<h:inputText value="#{personnelController.prenom}"/><br>
    				</h:column>
    				<h:column>
    					<h:outputText value="droit : "/>
    				</h:column>
    				<h:column>
    					<h:inputText value="#{personnelController.droit}"/><br>
    				</h:column>
    				<h:column>
    					<h:outputText value="Service : "/>
    				</h:column>
    				<h:column>
    					<h:selectOneMenu>
    						<f:selectItems value="#{personnelController.services}" var="p" itemLabel="#{p.servCode}"/>
    					</h:selectOneMenu>
    				</h:column>
    				<h:column>
    				<h:commandButton value="Enregistrer" action="#{personnelController.createPersonnel}"/>
    				</h:column>
    			</h:panelGrid>
     
     
    		</h:form>
     
    		</div>
    		<!--<div>
    		<h:form>
    				<h:commandButton value="Enregistrer" action="#{personnelController.createPersonnel}"/>
    				</h:form>
    		</div>-->
     
    	</f:view>
     
    </body>
    Avec ce code, j'arrive à avoir ma liste de services, mais je n'arrive pas à enregistrer la personne car tous les champs se mettent à null...

    voici le code de ma methode de mon controller ou j'enregistre en bdd ma personne:

    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
     
    public String createPersonnel()throws DataAccessException, SQLException {
    		String create = null;
    		if ((getNom()!=null)&&(getPrenom()!=null)){
    			if(personnelDao.validatePersonnel(getNom(), getPrenom())!= null){
    				exist = true;
    				create ="echec";
    			} else {
    				personnel = new Personnel();
    				personnel.setNom(getNom());
    				personnel.setPrenom(getPrenom());
    				personnel.setLogin(getLogin());
    				personnel.setPassword(getPassword());
    				personnel.setdroit(getDroit());
    				personnel.setService(getService());
    				personnelDao.addPersonnel(personnel);
    				create = "succes";
    			}
     
    		}
    		return create;
    	}
    J'ai vu qu'on pouvait aussi utiliser un htmlSelectOneMenu et un binding, mais ça ne marche pas mieux.

    Si quelqu'un a une idée, d'avance merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 66
    Points
    66
    Par défaut
    Le mieux est de créer une entity Personne avec les champs nom, prénom,...
    ensuite tu crée un objet de type Personne dans ton PersonneController,
    dans ta page jsf, tu appelles l'objet du controller genre #{personneController.personne.nom}
    Après tu sauvegarde ton objet personne et tu n'a pas besoin d'updater le modèle.
    ------------------------------------------------------
    La connaissance s'aquiert par l'expérience, tout le reste n'est que de l'information (A. Einstein)

Discussions similaires

  1. Problème avec un selectOneMenu, Java Server Faces, erreur de validation !
    Par smercier2 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 20/03/2013, 09h52
  2. Problème avec h:selectOneMenu
    Par lamia89 dans le forum JSF
    Réponses: 3
    Dernier message: 08/06/2012, 19h58
  3. Problème avec le selectOneMenu
    Par enanfcb dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 03/06/2011, 14h05
  4. problème avec selectOneMenu
    Par anisj1m dans le forum JSF
    Réponses: 9
    Dernier message: 12/06/2008, 18h59
  5. Réponses: 5
    Dernier message: 08/06/2007, 08h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo