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 :

[JSP][STRUTS] Passer des objets à une classe action


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [JSP][STRUTS] Passer des objets à une classe action
    Bonjour,

    J'aimerais avoir un mécanisme de confirmation pour un traitement. Voilà l'idée :
    - afficher une jsp de sélection de données avec un formulaire associé à un bean
    - lorsque le formulaire est soumis, une action est appelée. Elle crée des objets en fonction des données du formulaire, puis réalise des tests dessus
    - le test rempli une liste avec certains des objets crées puis ajoute la liste comme attribut de la requete
    - l'action est redirigée par struts vers une page de confirmation qui affiche la liste des objets remplie par le test et deux boutons : annuler et continuer
    - si on annule, retour a la page du formulaire. Si on decide de continuer, j'aimerais lance une seconde action qui va réaliser le traitement.

    En clair, c'est une simple fonction qui me demande "Etes vous sur ?" avant de lancer un traitement.

    Cependant, je n'arrive pas à savoir comment je peux transmettre les objets que j'ai crées lors du test à l'action qui va réaliser mon traitement...

    Le test ajoute trois attributs a la requete : deux listes et une date.
    La premiere liste est utilisee par la jsp de confirmation et ne pose pas de problèmes. J'ai simplement besoin de retrouver la seconde liste et la date dans mon action qui réalise le traitement.


    J'ai trouve ce post assez interessant :
    http://forums.oracle.com/forums/thre...hreadID=205127

    Il donne plusieurs solutions :
    - la 1 ne convient pas puisque je dois cliquer sur un bouton avant le forward vers l'action de traitement

    - la 2 ne convient pas puisque mes objets ne sont pas des string

    - la 3 me semble un peu compliquee... si j'ai bien compris, je dois cree une classe qui va contenir mes objets

    En fait, l'ideal serait de pouvoi faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick=<% getServletConfig().getServletContext().getRequestDispatcher(request.getContextPath() + "/confirmation.do").forward(request, response); %><img name="btn_traitement" src="./images/1.gif" border="0" alt=""></a>
    Est ce qu'il existe une solution simple a ce besoin ?

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Salut,

    Je ne sais pas si j'ai bien compris ta question, je te donne un élément de réponse, ça aidera à comprendre si c'est bien ça que tu cherches!
    1- Stocker les objets dont ta besoin, en session par exemple, tout dépend de ton appli et la taille de ces objets.
    2- sur clique du boutton continuer, la fenetre de validation renseigne un champ caché d'un formulaire, que tu envoi à une action, et suivant la valeur de ce champ tu forward vers l'action adequate..

  3. #3
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 57
    Points : 50
    Points
    50
    Par défaut
    si j'ai compris:
    1) une jsp avec un form (JSP1)
    2) redirection vers une action (ACTION1)
    3) l'action redirige sur la jsp de confirmation (JSP2)
    4) la jsp de confirmation redirige elle meme vers une autre action (ACTION2)

    En gros, tu arrives a passer des donnée de ACTION1 a JSP2, et tu voudrais passer d'autres donnée de ACTIONS1 à ACTION2 (la date et la liste 2)

    Pour ça tu crée dans JSP2 un champ caché, auquel tu donne comme valeur l'attribut date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=hidden name=date value=<bean:write name="date">>
    Dans l'action1 tu transmets a la JSP 2 le bean:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("date", maDate);
    Quand tu soumet le form de la JSP2 à l'action2, tu peux récuperer la date dans ACTION2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date maDate = (Date) request.getAttribute("date");
    Voilou,

Discussions similaires

  1. Passer des arguments à une classe de test Junit
    Par safi11 dans le forum Général Java
    Réponses: 8
    Dernier message: 03/01/2012, 15h30
  2. [débutant]Passer des coordonnées à une action
    Par pingoui dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 24/02/2009, 23h10
  3. Passer un paramètre à une classe Action
    Par missgeek dans le forum Struts 2
    Réponses: 8
    Dernier message: 26/09/2008, 10h27
  4. Réponses: 1
    Dernier message: 11/08/2007, 17h16
  5. Réponses: 8
    Dernier message: 16/02/2007, 15h55

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