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 :

iteration de html:text et récup value


Sujet :

Struts 1 Java

  1. #21
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    je n'ai pas spécifié le scope!! alors je suppose qu'il a du mettre scope="session" par defaut non?

  2. #22
    Expert confirmé

    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
    Par défaut
    Effectivement, le scope par défaut est session.

  3. #23
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    ca se trouve si j'avais mis scope=request ca serait faux alors? non je ne pense pas

  4. #24
    Expert confirmé

    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
    Par défaut
    Si tu as deux actions liées au même form-bean, une Action d'initialisation et une qui s'exécute au submit du formulaire, il faut mettre le scope="session".

  5. #25
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par c_nvy
    Si tu as deux actions liées au même form-bean, une Action d'initialisation et une qui s'exécute au submit du formulaire, il faut mettre le scope="session".
    Pourquoi ? Personnellement dans ce genre de cas j'utilise systématiquement le scope request

    Citation Envoyé par mnemonic78
    ca se trouve si j'avais mis scope=request ca serait faux alors? non je ne pense pas
    Moi j'en suis persuadé. Car si scope request, ton objet form est détruit à l'affichage de ta JSP. Ton getXXX(index) au submit foirera vu que ta liste sera nulle ou vide. Le choix entre scope session et request n'est pas anodin et a de nombreux impacts sur la façon de coder.

  6. #26
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par mixouille
    Pourquoi ? Personnellement dans ce genre de cas j'utilise systématiquement le scope request.
    En fait, la requête commence à l'appel de l'Action qui initialise le formulaire.
    Quand la jsp s'affiche, la réponse a été construite et envoyée au navigateur, ce qui signifie que la requête est terminée.
    Si tu es en scope request, le form-bean rempli n'est plus accessible au submit du formulaire, parce que c'est une nouvelle requête qui est envoyée.
    Voilà pourquoi il faut utiliser le scope session dans ce cas-là.

    EDIT : mixouille, après relecture de ton message, c'est bizarre car tu te contredis.
    Tu dis que tu utilises systématiquement le scope request dans ce genre de cas, et après, tu expliques à mnemonic78 qu'il doit mettre son form-bean en scope session.

  7. #27
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par c_nvy
    En fait, la requête commence à l'appel de l'Action qui initialise le formulaire.
    Quand la jsp s'affiche, la réponse a été construite et envoyée au navigateur, ce qui signifie que la requête est terminée.
    Si tu es en scope request, le form-bean rempli n'est plus accessible au submit du formulaire, parce que c'est une nouvelle requête qui est envoyée.
    Voilà pourquoi il faut utiliser le scope session dans ce cas-là.
    Non non non. En scope request, au submit de la page, Struts va réinstancier un nouveau form-bean (vierge), va appeler la méthode reset() dessus (on s'en fout), et va le remplir avec les valeurs qui sont submittées. La plupart du temps, c'est bien suffisant.
    Maintenant, si tu as besoin de garder des données que tu ne repostes pas (une liste de référence pour une combobox, par exemple), ou si tu as besoin de garder la référence vers ton form-bean initialement créé, le scope session est évidemment plus approprié.

    Citation Envoyé par c_nvy
    EDIT : mixouille, après relecture de ton message, c'est bizarre car tu te contredis.
    Tu dis que tu utilises systématiquement le scope request dans ce genre de cas, et après, tu expliques à mnemonic78 qu'il doit mettre son form-bean en scope session.
    C'est pas parce que je le fais comme ca que je vais obliger tout le monde à faire pareil ! Je n'ai pas du tout dit à mnemonic78 d'utiliser le scope session, je lui ai juste dit qu'en scope session, son code marchait tel quel, alors qu'en request, non. Personnellement j'aurais fait ca en scope request.

    Pour rappel, le scope session est surtout préconisé pour les beans qui ont besoin de "persistence" au fil des pages, comme pour un questionnaire sur plusieurs pages par exemple.
    Utiliser le scope session pour une simple page comme ici relève plus de la bidouille, pour moi, et ne constitue pas une bonne habitude. Après, à chacun son école. L'important est de bien saisir la différence et de coder en conséquence.

  8. #28
    Expert confirmé

    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
    Par défaut
    Désolée mais je ne vois pas comment tu peux arriver à faire fonctionner le cas de mnemonic78 en scope request.

    EDIT : L'Action qui s'exécute avant l'affichage de la jsp initialise le formulaire avec la collection.
    Lorsqu'il modifie les éléments de la collection dans la jsp et qu'il soumet le formulaire, s'il est en scope request, il perd le contenu de la collection et il se retrouve avec un beau message d'erreur.

  9. #29
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Ben je fais comme je disais hier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public ParametrePopup getParametre(int index) {
      while (liste.size() <= index) {
         liste.add( new ParametrePopup() ); 
      }
      return (ParametrePopup)liste.get(index);
    }
    Ce qui permet à Struts, à partir d'une liste vide (je l'initialise à la construction du bean), de la remplir avec les données du form, ET de créer au fur et à mesure les items nécessaires. Pour les détails, je te renvoie au début du thread où j'en ai un peu parlé. Evidemment, ca ne permettra que d'accéder aux données contenues dans le formulaire.

    Tu me diras que tout ça c'est vraiment pour le principe de pas utiliser de scope session, et que ca n'a pas grand intéret à part celui de se compliquer la vie. Je te répondrais que tu as peut-être bien raison.

  10. #30
    Expert confirmé

    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
    Par défaut
    Mais cela suppose que ta collection de beans est vide au départ.
    Or, dans le cas de mnemonic78, vu qu'il a codé un bean:write sur la propriété libparam dans la jsp, cela signifie que sa collection contient des beans ParametrePopup dont la propriété libparam est renseignée et via le logic:iterate et les html:text avec indexed="true", il permet la modification de la propriété valp.

    Enfin, en tout cas, c'est comme ça que je l'ai compris.

  11. #31
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Oui, c'est ce que j'ai compris aussi.
    Non, avec des cas similaires, je n'ai pas de problème, Struts reconstruit ma collection en fonction des index des champs de l'iterate, et remplit (uniquement) les propriétés renseignées dans le formulaire (le reste est évidemment perdu).
    Je ne comprends pas trop le problème, je n'ai peut-être pas bien compris ton explication.

  12. #32
    Expert confirmé

    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
    Par défaut
    Ben désolée mais moi non plus je n'ai toujours pas compris ton explication.

  13. #33
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    lol, laisse tomber, c'est pas sur un forum qu'on arrivera à se comprendre, y a manifestement quelque chose qui coince. je propose donc de laisser tomber cette discussion.

  14. #34
    Expert confirmé

    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
    Par défaut
    En fait, pour se comprendre, il aurait fallu que chacun poste un code exemple mais bon, comme tu dis, on arrête là la discussion.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. html text et value
    Par mon_pseudo dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/01/2012, 04h51
  2. Réponses: 0
    Dernier message: 10/02/2010, 19h55
  3. html:text dans un logic:iterate
    Par ptitom1381 dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/11/2008, 13h11
  4. logic:iterate imbriques + html:text
    Par wanted972 dans le forum Struts 1
    Réponses: 10
    Dernier message: 12/10/2007, 10h44
  5. [Débutant][taglibs] "value" sur un <html:text> ?
    Par ghohm dans le forum Struts 1
    Réponses: 10
    Dernier message: 01/06/2007, 16h50

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