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 :

CommandButton et selectOneMenu dans un form


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Par défaut CommandButton et selectOneMenu dans un form
    Bonjour,

    J'essaie de faire une application de gestion de livre avec un catalogue. Dans le catalogue administrateur j'affiche mes données avec un datatable dans lequel je place certains champ modifiable dont un selectOneMenu correspondant à l'état de mon livre. La modification global de ce catalogue fonctionne très bien. Cependant au bout de chaque ligne de ce catalogue j'aimerai faire un lien vers la fiche détaillée du livre sélectionné.
    Et là ca coince, mon CommandButton qui redirige vers ma page détaillée valide l'intégralité du formulaire et là le selectOneMenu provoque alors une erreur de validation. Pour éviter la validation du formulaire qui ne m'es d'aucune utilité ici j'ai passé le type de mon CommandButton à type="button", mais maintenant il ne lance plus rien.

    Je n'ai pas besoin des données du formulaire, donc je n'ai pas besoin de converter. J'ai également essayé la nouvelle tag de JSF <button> mais l'attribut "outcome" me lance les méthodes (appelé normalement au click) lors de la création de la page...

    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
     
    <h:form >
                <h:dataTable value="#{bookBean.listBook}" var="book" 
                             cellpadding="1" border="1" width="550">
     
                    <!-- Ce SelectOneMenu ne doit pas etre submit pour éviter des erreurs-->
                    <h:column>
                        <f:facet name="header" >
                            <h:outputText value="Etat des stocks"/>
                        </f:facet>
                        <h:selectOneMenu  value="#{book.stateBook}">
                            <f:selectItems  value="#{bookBean.listState}" var="state" itemLabel="#{state}" itemValue="#{state}"/>
                            <f:ajax listener="#{bookBean.changeCatalog(book)}"/>
                        </h:selectOneMenu>
                    </h:column>
     
                    <!--Ici la méthode bookDetails(Book book) renvoie la page détaillée avec les information du livre passé en paramètre -->
                    <h:column>
                            <h:commandButton value="Fiche" type="button"  action="#{bookBean.bookDetails(book)}" />
                    </h:column>
                </h:dataTable>
            </h:form>
    Je précise que avec un type submit et sans le selectonemenu, je n'ai pas d'autre erreur donc seule le submit de cette ligne gène. Je pense qu'un type="button" devrait éviter ça, mais comment le faire fonctionner?

    Merci beaucoup

  2. #2
    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
    Salut,

    enlève type="button" et met immediate="true" à la place

    l'attribut "immediate" passe la phase de validation du cycle de vie JSF.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Par défaut
    Merci pour ta réponse! ca marche parfaitement !

    J'ai fais également d'autre test et il se trouve que c'était des caractères spéciaux qui bloquaient la validation (é-à) la comparaison des string ne doit pas prendre en compte ces caractères donc il y erreur. Donc j'ai remplacé ma list d'état par une map où les item value sont standardisés sans caractères spéciaux et ça passe également!

    Encore Merci!

  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
    pour les accents, il faut que toute ta production soit UTF-8 / UNICODE :
    - base de données
    - pages JSF (au format XML)
    - pages HTML. Il faut donc que la réponse de la page JSF renvoie sont encoding au moyen de tag META

    Exception : les fichiers de properties qui doivent être "iso-8859-1"

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

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  3. [Forms]Code EAN128 dans un report, ou dans un form?
    Par Aeternus dans le forum Forms
    Réponses: 9
    Dernier message: 20/02/2007, 13h38
  4. Comment mettre le même TMainMenu dans plusieurs Form ?
    Par gmc dans le forum Composants VCL
    Réponses: 6
    Dernier message: 12/08/2004, 21h03
  5. [servlet][formulaire] utilisation de 2 servlet dans 1 form
    Par luc_pichot dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/05/2004, 17h55

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