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

Struts 1 Java Discussion :

taglib logic notEmpty


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Par défaut taglib logic notEmpty
    Bonjour a tous

    Bon je sais que je poste beaucoup en ce moment mais j'ai un projet a rendre dimanche soir et je n'ai que 6jours de java (dont 3seulement de struts) donc j'ai encore un peu de mal

    Mon problème cette fois (que je ne comprend pas, et pourtant j'ai passé déja 1h à essayer de le résoudre avant de poster ici) concerne la taglib logic empty/notEmpty

    En fait j'ai créé une fonction recherche pour retrouver une ligne de ma liste en fonction de la colonne "nom", et j'ai voulu fairen en sorte que si la recherche a été trouvée on affiche la ligne correspondante (ca, ca marche) et que si la recherche n'a pas été trouvée, on affiche un message du genre "la recherche n'a rien trouvé"

    Pour cela j'ai ma classe Action qu idonne ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            RechercheBoissonForm rechercheForm = (RechercheBoissonForm) form;
            String name = rechercheForm.getNomBoisson();
            Boisson b = BoissonDAO.getInstance().findBoisson(name);
     
            if (b.equals(null)){
                request.setAttribute("erreur", "Vous n'avez entré aucun nom pour la recherche");
            } else{
                request.setAttribute("name", b.getName());
                request.setAttribute("price", b.getPrice());
                request.setAttribute("description", b.getDescription());
            }
            return mapping.findForward("Result");
        }
    et ma jsp donne ca :
    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
    <body>
            <h2>Résultat de la recherche</h2>
            <html:form action="/rechercheBoisson">
                <p>
                    Boisson à chercher : <html:text property="nomBoisson" /> 
                    <html:submit value="Lancer la recherche" />
                </p>
            </html:form>
            <table border="1" width="100%">
                <tr>
                    <th></th>
                    <th>Nom</th>
                    <th>Prix</th>
                    <th>Description</th>
                    <th>Supprimer</th>
                </tr>
            <logic:empty name="erreur">
                <html:form action="/deleteBoisson">
                        <tr>
                            <td><html:multibox property="selectionBoisson" value="${name}"/></td>
                            <td><%= request.getAttribute("name") %></td>
                            <td><%= request.getAttribute("price") %> €</td>
                            <td><%= request.getAttribute("description") %></td>
                            <td><html:link href="updateBoisson.do?name=${name}" >Modifier</html:link></td>
                        </tr>
     
                    <html:submit value="Supprimer les éléments sélectionnés" />
                </html:form>
            </logic:empty>
            <logic:notEmpty name="erreur">
                <tr>
                    <td></td>
                    <td></td>
                    <td>bla</td>
                    <td></td>
                    <td></td>
                </tr>
            </logic:notEmpty>
            </table>
        </body>

    la partie <logic:empty name="erreur"> fonctionne sans problème j'ai bien la ligne trouvée qui s'affiche
    mais la aprtie notEmpty me renvoie une méchante erreur et je ne vois pas pourquoi

    Y aurait-il quelqu'un qui puisse m'éclairer s'il vous plait car la je bloque complètement sur la raison qui fait que ca ne marche qu'a moitié

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Citation Envoyé par Sh4dow49 Voir le message
    la aprtie notEmpty me renvoie une méchante erreur et je ne vois pas pourquoi
    quelle est l'erreur?
    peux-tu mettre la pile d'exécution de l'exception

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai bien compris ta question mais si ton but est de tester si tu as une erreur ou pas, il te suffirait de creer dans ton form "rechercheForm" un attribut String que tu valorises dans ton action si tu as une erreur ( au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("erreur", "Vous n'avez entré aucun nom pour la recherche");
    tu aurais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rechercheForm.setErreur("Vous n'avez entré aucun nom pour la recherche");
    puis dans ta jsp il te suffirait de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <logic:notEmpty name="rechercheForm" property="erreur">
                <tr>
                    <td></td>
                    <td></td>
                    <td>bla</td>
                    <td></td>
                    <td></td>
                </tr>
            </logic:notEmpty>
    et tu peux recuperer ton erreur avec un <bean:message/>

    voila j'espere que ca t'aidera! bon courage

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Citation Envoyé par Sh4dow49 Voir le message
    la partie <logic:empty name="erreur"> fonctionne sans problème j'ai bien la ligne trouvée qui s'affiche
    mais la partie notEmpty me renvoie une méchante erreur
    essaye de tester comme ca :
    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
    <body>
            <h2>Résultat de la recherche</h2>
            <html:form action="/rechercheBoisson">
                <p>
                    Boisson à chercher : <html:text property="nomBoisson" /> 
                    <html:submit value="Lancer la recherche" />
                </p>
            </html:form>
            <table border="1" width="100%">
                <tr>
                    <th></th>
                    <th>Nom</th>
                    <th>Prix</th>
                    <th>Description</th>
                    <th>Supprimer</th>
                </tr>
    <logic:present name="erreur">
            <logic:empty name="erreur">
                <html:form action="/deleteBoisson">
                        <tr>
                            <td><html:multibox property="selectionBoisson" value="${name}"/></td>
                            <td><%= request.getAttribute("name") %></td>
                            <td><%= request.getAttribute("price") %> €</td>
                            <td><%= request.getAttribute("description") %></td>
                            <td><html:link href="updateBoisson.do?name=${name}" >Modifier</html:link></td>
                        </tr>
     
                    <html:submit value="Supprimer les éléments sélectionnés" />
                </html:form>
            </logic:empty>
            <logic:notEmpty name="erreur">
                Texte pour tester si on a un erreur NotEmpty :)
            </logic:notEmpty>
    </logic:present>
    <logic:notPresent>
    Texte : erreur NotPresent
    </logic:notPresent>
            </table>
        </body>
    Et là aussi il te fait une erreur ....?

Discussions similaires

  1. Problème avec Logic:notempty
    Par mmahouac dans le forum Struts 1
    Réponses: 3
    Dernier message: 30/10/2008, 16h14
  2. taglib logic:equal et operateur logique
    Par BigBenFr dans le forum Struts 1
    Réponses: 10
    Dernier message: 03/07/2008, 13h32
  3. [logic:notEmpty] Probleme dans une iteration
    Par CPI_en_mousse dans le forum Struts 1
    Réponses: 11
    Dernier message: 29/06/2007, 08h58
  4. [Taglibs] logic et Integer
    Par Mister Nono dans le forum Struts 1
    Réponses: 3
    Dernier message: 08/03/2007, 18h59
  5. logic:notEmpty ?
    Par SrK dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/06/2006, 15h35

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