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 :

récupérer des valeurs d'une jsp sans utiliser une session


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut récupérer des valeurs d'une jsp sans utiliser une session
    J'ai une jsp qui accède quelques attributs dans le request de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="chrono" scope="request"/>
    Maintenant j'ai une action qui change quelques infos de la page mais qui nécessite la valeur de chrono. Par contre je ne veux pas la mettre dans la scope session parceque l'application peut ouvrir plusieurs onglets avec la même fonctionnalité mais de différentes valeurs pour chrono.

    Je pensais que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:define  id="chrono"  name="chrono" toScope="request"/>
    et ensuite dans la form de l'action une variable chrono devrait marcher mais la valeur est toujours nulle.

    Merci d'avance.

  2. #2
    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
    Le bean:define permet de créer la variable chrono dans le scope request (soit l'équivalent d'un request.setAttribute) mais en aucun cas, ne met à jour la propriété chrono de l'ActionForm.

    Pour pouvoir mettre à jour la propriété chrono à la soumission du formulaire, tu peux par exemple passer par un champ caché :

    en J2EE 1.4 ou plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:hidden property="chrono" value="${chrono}"/>
    sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:hidden property="chrono" value="${chrono}"/>
    sans oublier d'ajouter dans la jsp la directive taglib qui pointe sur la tld struts-html-el.tld.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut
    Merci beaucoup, le html:hidden fonctionne.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut
    Bonjour, j'ai une petite question additionnelle.

    Donc ce que je voulais faire marche pour un string avec un html:hidden.

    Maintenant je dois faire la même chose pour un objet, que je ne souhaite pas stocker dans la session parce qu'il peut y en avoir plusieurs en même temps.

    Selon la doc, html:hidden fonctionne uniquement avec des strings.

    Merci d'avance.

  5. #5
    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 ne veux pas stocker l'objet en session, je ne vois pas d'autre moyen que de passer toutes les propriétés de cet objet en champs cachés, ce qui suppose que ces propriétés sont de type String et non des objets complexes.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Peut-être te compliques-tu la vie pour rien...
    Le problème de session / multi-fenêtre peut être géré proprement en stockant les objets en session dans une map dont la clé serait un identificateur de fenêtre (ou d'onglet en l'occurrence).
    Dans cette perspective, tu n'as qu'une session mais N zones de stockage.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 09/11/2011, 12h06
  2. Récupérer des valeurs d´un autre classeur sans l´ouvrir
    Par jguenot dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2009, 15h43
  3. Réponses: 5
    Dernier message: 05/02/2009, 16h20
  4. Réponses: 3
    Dernier message: 23/10/2007, 13h35
  5. Réponses: 8
    Dernier message: 09/06/2006, 16h01

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