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 :

pb pour récupérer valeur selectOnemenu rempli à partir de BD


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut pb pour récupérer valeur selectOnemenu rempli à partir de BD
    bonjour, j'ai un select One menu que j'ai rempli à partir de ma BD
    mon bean
    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
    public List<SelectItem> getMaliste(){
    		List<SelectItem> unelist = new ArrayList <SelectItem>();
    		try{
    			Session session=utils.HibernateSessionFactory.getSession();
    			Query q = session.createQuery("from Restaurant");
    			Iterator it = q.list().iterator();
    			while (it.hasNext()){
    				Restaurant elementCourant = (Restaurant)it.next();
    				unelist.add(new SelectItem(elementCourant.getCodeResto(), elementCourant.getLibelleResto()));
    			}			
    		}catch (Exception e) {
                e.printStackTrace();
            }
    		return unelist;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu id="MonMenu" value="#{resto_bean.lib_resto}" >
        		<f:selectItems value="#{resto_bean.maliste}" />
    	</h:selectOneMenu>
    mon selectOnemenu récupère bel et bien la liste de mes restaurant,
    sauf que je n'arrive pa à récupérer la valeur selectionnée.
    et il m'arrive un truc bizarre, si j'ajoute dans la même page un comandbutton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <f:view>
        	<h:form>    
        		 <h:selectOneMenu id="MonMenu" value="#{resto_bean.lib_resto}" >
        			<f:selectItems value="#{resto_bean.maliste}" />
    			</h:selectOneMenu>
    			<h:commandButton action="#{resto_bean.redirection}" value="Valider" style="width:110px;"/>
    		</h:form>
    	</f:view>
    ma fonction redirection sert uniquement à me rediriger vers une autre page.
    le comandbutton tt seul dans la marge fonctionne, mé une fois j'ajoute le select ça marche plus, et je n'ai aucun msg d'erreur.

    est ce que la récupération est tel que je l'ai faite ou où est -ce que je me plante

    merci bcp

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Le code que tu nous montres ne permet que la création de la liste, pour remplir le combobox (le selectOneMenu quoi).
    Je pense que cette partie ne pose pas de problème...

    Maintenant, la valeur sélectionnée dans le selectOneMenu est liée directement à la propriété lib_resto du bean resto_bean.

    Tu dis que ça ne marche pas... Mais que se passe t'il au juste ?

    Tu peux essayer de mettre un point d'arrêt (ou un System.out.println) dans le setter de lib_resto (méthode setLib_resto) pour voir si la méthode est bien appelée par JSF lorsque tu soumets ton formulaire.
    Tu peux aussi ajouter dans le formulaire le composant <h:messages/> pour voir s'il y a des soucis de validation...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    j'ai essayé d'afficher le message d'erreur ça me donne : Erreur de validation: Valeur not valid. Erreur de validation: Valeur not valid

    je ne comprend pas

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Pour comprendre ton erreur de validation, dis moi de quelle classe Java est le Code Resto retourné par elementCourant.getCodeResto() ?
    De même, quel est le type de la propriété lib_resto de resto_bean ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    code_resto est de la class restaurant resultat du mapping
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public abstract class AbstractRestaurant implements java.io.Serializable {
     
    	// Fields
     
    	private Integer codeResto;
    	private String libelleResto;
    ...........
    class de mon bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class c_resto {
    	int code_resto;
    	String lib_resto;
    ................

  6. #6
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    c'est bon je n'ai plus cette erreur, merci de m'avoir avertis sur les types, justement quand je remplissais ma liste je mettait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unelist.add(new SelectItem(elementCourant.getCodeResto(), elementCourant.getLibelleResto()))
    mais lorsque je l'ai changé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unelist.add(new SelectItem(elementCourant.getLibelleResto(), elementCourant.getLibelleResto()));
    j'ai plus l'erreur.

    sauf que là je retourne la valeur sélectionnée et affichée. mais moi je voudrais afficher le libelle_resto et retourner le code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour récupèrer valeurs checkbox
    Par Thewil dans le forum Struts 2
    Réponses: 0
    Dernier message: 15/12/2009, 12h03
  2. substring pour récupérer valeur ?
    Par jeepibmx dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/10/2008, 11h46
  3. Réponses: 4
    Dernier message: 31/10/2007, 15h11
  4. Problème pour récupérer valeurs d'un ComboBox
    Par david71 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/08/2007, 11h10
  5. Réponses: 4
    Dernier message: 13/12/2006, 00h08

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