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 :

probleme avec logic:present et scope


Sujet :

Struts 1 Java

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut probleme avec logic:present et scope
    Bonjour,

    Je récupère dans ma JSP une liste créée dans ma classe Action et je l'affiche. J'aimerai afficher "Liste Vide" si la liste est vide.
    Voici le code de l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		if (request.getSession().getAttribute("user")!=null){
    			VoitureDAO vDAO=new VoitureDAO();
    			ArrayList listVoiture = vDAO.getListVoiture();
    			request.setAttribute("listVoiture", listVoiture);
    			return mapping.findForward("success");
    		}else{
    			return mapping.findForward("failure");
    		}
    et ma JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <logic:present name="listVoiture" scope="request">
    <table cellspacing="3" cellpadding="2" border="rules">
    	<logic:iterate id="idListeVoiture" name="listVoiture">
    		<tr>
    			<td><bean:write name="idListeVoiture" property="marque"/></td>
    			<td><bean:write name="idListeVoiture" property="modele"/></td>
    		</tr>
    	</logic:iterate>
    </table>	
    </logic:present>
    <logic:notPresent name="listVoiture" scope="request">
    	Liste vide
    </logic:notPresent>
    Mon problème c'est que quand je met scope="request" il m'affiche Liste Vide alors que si je mets scope="session" il m'affiche bien ma liste.
    Or , dans le code de mon Action, je pense pourtant mettre ma liste dans la request et non dans la session, non?
    Merci pour votre aide!

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Salut

    En effectuant un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("listVoiture", listVoiture);
    listVoiture est effectivement mis dans le scope request.

    Es-tu certain de n'avoir codé nulle part un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().setAttribute("listVoiture", listVoiture);

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Salut

    En effectuant un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("listVoiture", listVoiture);
    listVoiture est effectivement mis dans le scope request.

    Es-tu certain de n'avoir codé nulle part un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().setAttribute("listVoiture", listVoiture);
    Absolument certain.
    Si je mets session ça marche il trouve la listes, sinon il ne la trouve pas.

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Ah, j'avais mal compris.
    Je croyais que tu disais qu'en mettant la liste dans le scope request et en codant un logic:present scope="session", la liste s'affichait.

    En fait, ton problème c'est que la liste ne s'affiche que lorsque tu la mets dans la session.

    Tu n'aurais pas par hasard codé un redirect="true" dans la balise forward de name "success" dans le mapping de ton Action par hasard ?
    Ceci expliquerait pourquoi tu perds la liste que tu as mis dans la requête.

    Si c'est le cas, mets le redirect à false.

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    bravo

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

Discussions similaires

  1. probleme avec scope session struts2
    Par franco9 dans le forum Struts 1
    Réponses: 0
    Dernier message: 18/07/2012, 02h02
  2. Probleme avec Logic:iterate
    Par ForHuman dans le forum Struts 1
    Réponses: 7
    Dernier message: 17/07/2008, 16h05
  3. probleme avec logic:redirect
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 02/08/2006, 09h41
  4. [Struts][logic:iterate] Probleme avec String
    Par julienOriano dans le forum Struts 1
    Réponses: 7
    Dernier message: 15/06/2004, 09h39

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