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 :

Changer de bean dans une Action


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 78
    Points
    78
    Par défaut Changer de bean dans une Action
    Bonjour,

    Je suis débutant en struts et j'ai le problème suivant dans mon application :

    J'ai un formulaire en deux parties :

    AfficherSelectionnerAction : initialisalise un bean pour le premier formulaire
    selectionner.jsp: premier formulaire
    SelectionnerAction : récupère les infos 1er formulaire et j'aimerais créer un bean pour le second formulaire.

    Ca ça ne fonctionne pas évidemment :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    public ActionForward doAfficherSelectionner(ActionMapping mapping,
    			ActionForm form, HttpServletRequest request,
    			HttpServletResponse response)
    	{
    		try
    		{
    			PeserForm peserForm = (PeserForm) form;
     
    			String modele = peserForm.getModele();
     
    			//Integer weighingType = Integer.valueOf(peserForm.getWeighingType());
     
    			List<String> listeTypeEngine = types.Avion.getListeEngine(modele);
     
    			types.Avion.TYPES_FAL[] listeTypeFAL = types.Avion.TYPES_FAL.values();
     
    			// Recherche de l'avion à peser
    			types.Avion avion = DaoFactory.getDaoAvion().getObjetById(
    					peserForm.getIdAvion());
     
    			Integer positionVirgule = Format.PRECISION_NATURELLE;
     
    			// Nombre de bascules pour cette pesée
    			Integer nbBascules = avion.getNbrBascules();
     
    			AffichageFormPeseeForm affichageFormPesee = new AffichageFormPeseeForm ();
     
    			// On renseigne la pesée dans le ActionForm
    			affichageFormPesee.setPesee(initPesee(request, avion, positionVirgule));
     
    			affichageFormPesee.setListeTypeEngine(listeTypeEngine);
    			affichageFormPesee.setTabTypeFAL(listeTypeFAL);
     
    			form = affichageFormPesee;  
     
     
     
    			return (mapping.findForward(FORWARD_PESAGE_CREER));
    		}
    		catch (Exception e)
    		{
    			return actionForwardExceptionGlobale(mapping, request, e);
    		}
    	}
    Merci
    Le Principe de Peter : « Avec le temps, tout poste sera occupé par un incompétent incapable d'en assumer la responsabilité. »

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Supprime ceci dans ton Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	form = affichageFormPesee;
    Ensuite, tu peux mettre le formulaire dans le même scope et sous le même nom que celui que tu as défini dans le struts-config.xml.

    Si par exemple le nom du form-bean est affichageFormPesee et que le scope est session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().setAttribute("affichageFormPesee",affichageFormPesee);
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 78
    Points
    78
    Par défaut
    Merci pour ta réponse mais le scope de mon bean n'est pas la session mais request.

    Est ce vraiment possible ce que je faire?
    Le Principe de Peter : « Avec le temps, tout poste sera occupé par un incompétent incapable d'en assumer la responsabilité. »

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Pour le mettre dans le scope request via l'Action, il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("affichageFormPesee",affichageFormPesee);
    Ceci suppose que affichageFormPesee est bien le nom que tu as donné au form-bean dans le struts-config.xml.

    Dans ce cas, quand tu afficheras la jsp, les champs du formulaire seront remplis mais par contre, avec un scope à request, quand tu vas soumettre ce deuxième formulaire, il va créer une nouvelle requête et donc réinitialiser tous les champs.

    Il faudrait donc plutôt mettre le form-bean dans le scope session à la fois dans l'Action, comme je te l'ai indiqué dans mon précédent message, mais aussi dans le mapping de toutes les Actions liées à ce form-bean dans le struts-config.xml.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 78
    Points
    78
    Par défaut
    merci ça fonctionne
    Le Principe de Peter : « Avec le temps, tout poste sera occupé par un incompétent incapable d'en assumer la responsabilité. »

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/06/2006, 16h01
  2. Récuperer un bean dans une action Struts
    Par ksavieras dans le forum Struts 1
    Réponses: 4
    Dernier message: 23/10/2005, 14h55
  3. [Struts] [JavaBean] Deux beans dans une Action
    Par jak0 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/05/2005, 16h02
  4. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  5. [JSP] [STRUTS] Switch dans une action
    Par babylone7 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/07/2004, 15h21

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