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 :

[ Struts ][ Validateur ] récupération d'un bean


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut [ Struts ][ Validateur ] récupération d'un bean
    Bonjour,

    J'ai une jsp dynamique qui utilise un bean pour afficher une partie de son contenue. Le problème est que lorsque le validateur se déclenche et détecte une erreur, il réaffiche la page avec les messages d'erreur mais la page perd une partie de ses informations puisque le bean "disparait".....

    Comment pourrais je faire pour garder mes beans actifs meme lors du déclenchement du Validator?

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par sebus
    Bonjour,

    J'ai une jsp dynamique qui utilise un bean pour afficher une partie de son contenue. Le problème est que lorsque le validateur se déclenche et détecte une erreur, il réaffiche la page avec les messages d'erreur mais la page perd une partie de ses informations puisque le bean "disparait".....

    Comment pourrais je faire pour garder mes beans actifs meme lors du déclenchement du Validator?

    Merci
    Tu n'aurais pas déclaré dans ton struts-config.xml ton action en scope="request" ??
    Si c'est le cas, c'est la raison pour laquelle tu ne retrouves pas les infos de ton bean.

    si tu veux conserver ton bean, passe le scope de ton action en session.

  3. #3
    Membre régulier Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Points : 111
    Points
    111
    Par défaut
    Si tu met ton scope en request le bean n'est gardé que le temps de ta page et si tu la reaffiche alors il n'y a plus de donné met donc en session qui te garde en memoire jusqu'a la fermeture de l'appli ou de la fenetre!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    voici le code de mon struts config:
    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
            <action
                attribute="demandeForm"
                input="conges.demande"
                name="demandeForm"
                parameter="event"
                path="/demandeInit"
                type="com.conges.action.DemandeAction"
                scope="session"
                validate="false">
                <forward name="init" path="conges.demande" />
            </action>
            <action
                attribute="demandeForm"
                input="conges.demande"
                name="demandeForm"
                parameter="event"
                path="/demande"
                type="com.conges.action.DemandeAction"
                scope="session">
                <forward name="success" path="/confirmationDemande.do?event=init" />
                <forward name="echec" path="conges.demande" />
                <forward name="reload" path="/demande.do?event=init" />
            </action>
    mais malheureusement cela ne change rien ..........

    je passe le bean al la page avec ca: request.setAttribute("listeDemandes",listeDemandes);

    Je peux essayer de le mettre en session, mais sinon il n'y a pas de manière plus fine et moins gourmande pour la session?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par sebus
    voici le code de mon struts config:
    [code]je passe le bean al la page avec ca: request.setAttribute("listeDemandes",listeDemandes);

    Je peux essayer de le mettre en session, mais sinon il n'y a pas de manière plus fine et moins gourmande pour la session?
    Effectivement, dans ce cas, cela ne peut pas marcher. Je pensais que ton bean était positioné dans le form associé à ton action.
    Je dirais que tu n'as pas 20 000 possibilités mis à part celui de le positionner en session. En ce cas, peut etre serait il préférable de le mettre dans ton form qui est déja définis en session) pour pouvoir l'appeler quand bon te semble...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    ActionForm ou BeanForm ?
    Sinon tu ferais ca commment car je ne vois pas du tout pour l'instant....

    Sinon si je le mets en session (session.setAttribute) ca marche mais c'est un peu lourd dans le sens qu'il faut que je l'enlève a chque fois que je n'en ai plus besoin

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par sebus
    ActionForm ou BeanForm ?
    Sinon tu ferais ca commment car je ne vois pas du tout pour l'instant....

    Sinon si je le mets en session (session.setAttribute) ca marche mais c'est un peu lourd dans le sens qu'il faut que je l'enlève a chque fois que je n'en ai plus besoin
    Perso, et cela n'engage que moi, j'ai toujours tendance à stocker toutes les informations necessaires pour une JSP dans l'actionForm associé (je ne parle pas d'éventuelles listes de ref qui seraient chargées au démarage serveur, etc...). De cette manière, une fois dans la JSP, j'accede à toutes mes données via un objet unique : mon actionForm qui est en session.
    D'ailleurs, dans ce cas, bien penser à implémenter le reset et une méthode init au niveau de la page pour tout réinitialiser...

    D'un autre coté, concernant le nettoyage de ta session, cela sera strictement pareil avec cette méthode car à moins de supprimer ton ActionForm à la sortie de ta page, il restera en session. Mais est ce si grave ?
    Il sera nettoyé lorsque la session sera détruite.

    Ce que je peux dire, mais peut etre que d'autres auront une réponse plus approprié, c'est que si tu veux pouvoir conserver les données d'une page à l'autre (meme si c'est un retour sur la meme page), tu auras tendance à utiliser des ActionForm en session.
    Perso, j'utilise relativement peu d'Action en scope request, sauf dans des cas comme par exemple le fait d'afficher une page transitoire (récap de commande) sans saisie pour le user ou dans ce cas, je n'ai pas de risque de retour vers la page et donc de perte d'information...

    En espérant que cela t'aide.

Discussions similaires

  1. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58
  2. [ Struts ][ link ] <html:link> et bean form
    Par tiSioux dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/06/2004, 09h33
  3. [Struts][JSP] Sous-propriété de bean non rapatriée
    Par cowa dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/05/2004, 10h25
  4. [STRUTS] [JAVA] Affichage conditionnel de bean:write
    Par babylone7 dans le forum Struts 1
    Réponses: 6
    Dernier message: 29/04/2004, 16h20
  5. Réponses: 4
    Dernier message: 05/04/2004, 10h09

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