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

Servlets/JSP Java Discussion :

Passer un paramètre dans Include, depuis une boucle


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Février 2005
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Passer un paramètre dans Include, depuis une boucle
    Bonjour,
    Je travaille actuellement sur une appli web assez classique et j'utilise les JSP pour l'affichage.

    Je ramène un objet Java (appelé rvExterne) contenant toutes les informations pour construire la page, notamment une liste de zones de saisies (l'ensemble des zones compose un formulaire entier).

    Concrètement, ça donne ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <c:forEach var="rvForm" items="${rvExterne.listeFormulaires}" >
    	<jsp:include page="/vues/blabla/${rvForm.codeJsp}.jsp" />
    </c:forEach>
    Mon problème est que ma zone de formulaire est dépendante des données contenues dans "rvForm". Je peux accéder aux infos de rvForm dans la JSP, mais uniquement aux infos du dernier élément de ma liste.

    J'ai trouvé une solution qui a l'air de marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <c:forEach var="rvForm" items="${rvExterne.listeFormulaires}" >
    	<c:set scope="session" var="rvForm" value="${rvForm}" />
    	<jsp:include page="/vues/blabla/${rvForm.codeJsp}.jsp" />
    	<c:remove var="rvForm" scope="session"/>
    </c:forEach>
    Plusieurs hics :
    - j'utilise pas mal la session et j'ai des soucis de perfs ;
    - ça me parait un peu moche alors qu'il doit exister mieux ;
    - <jsp:param value="${rvForm}" name="rvForm" /> ne fonctionne pas.

    Avez-vous déjà été confrontés à ce problème, auriez-vous des idées d'amélioration ?
    Merci !

  2. #2
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set scope="session" var="rvForm" value="${rvForm}" />
    dans ton cas, j'utiliserais plutôt le scope "request", car une fois le formulaire envoyé, tu n'as plus besoin de rvForm.

    Et même mieux, les dernières JSR de JSP te permettent d'envoyer des paramétres à un JSP incluse, et que pour la JSP incluse : regarde un peu par . Pour cela, il faut utiliser la bonne implémentation de JSP.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Février 2005
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé l'envoi de paramètres, mais je n'arrive qu'a envoyer des valeurs simples, pas d'objets complexes...

Discussions similaires

  1. Passer un paramètre dans une expression
    Par kosni dans le forum Cognos
    Réponses: 1
    Dernier message: 27/05/2008, 15h06
  2. Passer un paramètre dans une sous-requête
    Par Lucier dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/10/2007, 10h07
  3. Réponses: 5
    Dernier message: 03/07/2007, 10h31
  4. Réponses: 2
    Dernier message: 11/10/2006, 13h37
  5. Réponses: 1
    Dernier message: 21/03/2006, 14h29

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