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 h:selectOneMenu


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 42
    Par défaut Problème avec h:selectOneMenu
    Bonjour ,

    J'utilise JSF 1.2 et richfaces 3.3 j'ai un formulaire qui est définit comme suit :
    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
     
    <h:form>
    					<h:panelGrid columns="2" border="0">
    <h:panelGroup>
    							<h:outputText value="Secteur d'activité" style="color:black" />
    						</h:panelGroup> 
    						<h:panelGroup>
    <h:selectOneMenu id="Secteur"
    					value="#{ClientBean.currentClient.secteur}"
    					title="Secteur" required="true"
    					requiredMessage="The DiscountCode field is required."
    					 style="width:190px" >
    				 <f:selectItems value="#{SecteurBean.optionsSecteur}"/>
    				</h:selectOneMenu>
    </h:panelGrid>
    					<h:panelGroup >
    							<h:commandButton value="Enregistrer" action="#{ClientBean.CreerCompte}" />
    					</h:panelGroup>	
     
    		         </h:form>
    Et voici le méthode qui permet de créer la liste des Secteurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public List<SelectItem> getOptionsSecteur() {
    		OptionsSecteur = new ArrayList<SelectItem>();  
    		List<Secteur> lSect = SecteurService.findAll();
    		 for(Secteur s :lSect) { 
    			 OptionsSecteur.add(new SelectItem(s,s.getDesignation()));
            }
    		return OptionsSecteur;
    	}
    Le problème c'est quand je clique sur le bouton enregistrer , aucun traitement ne s'exécute et la page se rafraichit .
    je ne sais pas d'où vient le problème , quelqu'un peut m'aider?!

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    salut Lamia,
    Essaies de mettre tes items dans le même bean que la value du h:select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems value="#{SecteurBean.optionsSecteur}"/> ==> <f:selectItems value="#{ClientBean.currentClient.optionsSecteur}"/>

  3. #3
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    ton code est correct il te reste juste de mettre un controlleur car tout ce qui s'affiche du coté JSF est en String donc pour le persister dans la bd il faut le convertir en Secteur

    implémentes un convertisseur et redefinir les GetAsObject et GetAsString

    exemple de code
    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
     
    private Converter etabConverter=new Converter(){
              @Override
            public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
     
                try{
                       return etablissementglobalDao.find(Long.parseLong(value));
     
                } catch(Exception exception) {
                    throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid Etablissement"));
                }
            }
     
            @Override
            public String getAsString(FacesContext fc, UIComponent uic, Object value) {
               return String.valueOf(((EtablissementGlobal) value).getId());
               //return"";
            }  
    };

  4. #4
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Bonjour,

    utilise ce converter générique :

    http://www.developpez.net/forums/d11...ique-securise/

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 le selectOneMenu
    Par enanfcb dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 03/06/2011, 14h05
  3. problème avec un selectOneMenu
    Par tomlaurent dans le forum JSF
    Réponses: 1
    Dernier message: 09/03/2011, 13h55
  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