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 confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    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

  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
    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);

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    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?

  4. #4
    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
    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.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Par défaut
    merci ça fonctionne

+ 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