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 de validation avec selectOneListbox


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut Problème de validation avec selectOneListbox
    Bonjour,



    Au début, j'avais ma dataTable (sans la listbox), si je coche une case et j'appuie sur le bouton "Supprimer", la ligne correspondante est supprimée.

    Maintenant que j'ai ajouté la liste, rien ne se passe quand je valide la suppression!

    Voici un petit bout de code:

    Ma page jsf:

    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
     <h:panelGrid columns="2">
            <h:outputText value="Code application:" styleClass="outputtexttk"/>
      <h:selectOneListbox  size="1" value="#{Affichmenu.cod}" valueChangeListener="#{Affichmenu.valueChanged}" onchange="submit()">
      <f:selectItems value="#{Affichmenu.liste}"/>
     </h:selectOneListbox>
    </h:panelGrid> 
     
      <f:verbatim>
     <br><br>
     </f:verbatim>
      <h:panelGrid>
        <h:messages infoStyle="color:rgb(255,0,0);"/>
      </h:panelGrid>
      <h:panelGrid columns="2">
        <h:panelGrid columns="2">
          <h:panelGrid columns="1" width="200"/>
          <h:outputText value="Liste des Fonctionnalités" styleClass="libelleSTitre"/>
        </h:panelGrid>
      </h:panelGrid>
     
      <h:panelGrid columns="2">
        <h:panelGrid columns="2">
          <div align="right"/>
          <h:panelGrid columns="1" width="50"/>
          <h:dataTable value="#{Affichmenu.listmenus}" var="var" rowClasses="table-row"
                       headerClass="headerclass" rows="7" >
     
            <h:column>
              <f:facet name="header">
                <h:outputText value="Menu"/>
              </f:facet>
              <h:outputText value="#{var.menu}"/>
            </h:column>
            <h:column>
              <f:facet name="header">
                <h:outputText value="Désignation"/>
              </f:facet>
              <h:outputText value="#{var.libelle}"/>
              <h:outputText escape="false"/>
            </h:column>
    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
    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
     
     
         private void init() {
     
     
            liste = new ArrayList();
            for (MenuAdmin code: Service.getlistcod()) {
     
                liste.add(new SelectItem(code.getCod()));
                       }
     
                liste.add(0,new SelectItem("Sélectionnez un code"));
     
     
        }
     
     
         public void valueChanged(ValueChangeEvent event) {
            HtmlSelectOneListbox element =(HtmlSelectOneListbox)event.getComponent();
            String label = (String)element.getValue();
            System.out.println(label);
             JSFUtils.storeOnSession("codmen", label);
            Object cod = JSFUtils.getFromSession("codmen"); 
            setListmenus(Service.listcodmen(cod.toString())); 
               }
     
     
       public void supprimermenu(ActionEvent actionEvent) {
            // Add event code here...
             System.out.println("deb supmenu ");
     
             for ( MenuAdmin uu: getListmenus())  {
               if (uu.isChoix())  {
                   Service.delmenu(uu.getMenu());  
                              JSFUtils.addmessage("Suppression effectuée avec succès");    
               }
     
             }
     
        }
    Merci

  2. #2
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Met ton bean en scope session ou ajoutes un t:savestate.
    Lors du postback, la collection d'objet dans ta liste n'existe plus, il ne peut donc pas traiter ta requête.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut


    1000 merci

Discussions similaires

  1. problème de validation avec DispachAction
    Par khayri dans le forum Struts 1
    Réponses: 26
    Dernier message: 18/01/2008, 18h43
  2. [XHTML] Problème de validation avec javascript
    Par HwRZxLc4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 16/12/2007, 01h13
  3. [DOM] Problème de validation avec un Schema et javax.xml.validation
    Par 84mickael dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 29/08/2007, 13h08
  4. Problème de validation avec le clientsocket
    Par stroumfs dans le forum Delphi
    Réponses: 2
    Dernier message: 03/11/2006, 19h41
  5. Réponses: 4
    Dernier message: 25/10/2006, 09h57

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