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 :

un Formulaire pour modification


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut un Formulaire pour modification
    Bonjour ,

    je veux utiliser un formulaire de modification pour modifier une fiche , ce que je veux faire c'est :

    1- récupérer l'id de la fiche
    2- charger les données concernant cette fiche (ayant cet id)
    3- Afficher ces données dans les champs du formulaire pour que l'utilisateur peut les modifier
    4- valider les modifications et les enregistrer dans la base.

    mon formulaire contient 3 listes dont le contenu doit être chargé de la base de donnée.

    j'ai cherché dans les forums et j'ai su que c'est le dispatchaction qui permet de faire plusieurs actions dans un même formulaire mais je n'ai pas su comment procédé.

    mon action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            String id = request.getParameter("id");
    	long idf = Integer.parseInt(id);
            FicheForm fform=(FicheForm)form;
            Operation o = new Operation();
    	GC_Fiche fiche= new GC_Fiche();
    	fiche=o.loadfiche(idf);
    	fform.setF(fiche);
    	Date datesys = new java.sql.Date(System.currentTimeMillis());
            fform.setDate_modification(datesys);	
            o.modificationfiche(fform.getF());
    	return mapping.findForward("Vuemodiffiche");
    o.loadfiche ()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public GC_Fiche loadfiche(long idf)
     
    	{
    		Session session=HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		GC_Fiche fiche = ( GC_Fiche) session.load(GC_Fiche.class,idf);
    		session.getTransaction().commit();
    		session.close();
    		 return fiche;
    	}
    o.modification(fiche)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void  modificationfiche(GC_Fiche f)
    	{
     
    	Session session=HibernateUtil.getSessionFactory().getCurrentSession();
    	session.beginTransaction();
            session.update(f);
      	session.save(f);
    	session.getTransaction().commit();
    	session.close();
     
    	}

  2. #2
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Récupérer 3 listes différentes ne constitue pas 3 actions différentes, tu en a besoin que d'une seule, par contre dans ta classe action tu dois récupérer tes 3 listes et après tu les renvoie à ta jsp avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    request.setAttibute("liste1", objetListe1);
    request.setAttibute("liste2", objetListe2);
    request.setAttibute("liste3", objetListe3);
    Ou en les ajoutant à ton Form en tant que propriété.
    Dans ta JSP tu aura besoin du tag html:collection et pour ça ya plein de Post récent sur le sujet sur le forum.

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    Citation Envoyé par Tanebisse Voir le message
    Récupérer 3 listes différentes ne constitue pas 3 actions différentes, tu en a besoin que d'une seule, par contre dans ta classe action tu dois récupérer tes 3 listes et après tu les renvoie à ta jsp avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    request.setAttibute("liste1", objetListe1);
    request.setAttibute("liste2", objetListe2);
    request.setAttibute("liste3", objetListe3);
    Ou en les ajoutant à ton Form en tant que propriété.
    Dans ta JSP tu aura besoin du tag html:collection et pour ça ya plein de Post récent sur le sujet sur le forum.
    j'ai déjà récupéré ces 3listes pour mon formulaire d'ajout mais là je veux faire les 3actions : récupération des données concernant ma fiche, loader ces 3 listes et enregistrer les modifications dans un meme formulaire mais je ne sais pas comment ?

  4. #4
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Je suis désolé mais la je comprend vraiment pas ou est ton problème je vois tjrs q'une seule action à effectuer. Je passe la main.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Si tu tiens vraiment à mettre plusieurs actions tu peut modifier ton struts-config du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <action path="/editFiche" type="action.EditFicheAction" name="ficheForm" input="/openEditFiche.do" validate="true">
    			<forward name="success" path="/jsp/viewFiche.jsp" redirect="false" />
     
    	    </action>
     
    	    <action path="/openEditFiche" type="action.OpenEditFicheAction" name="ficheForm"  validate="false">
    			<forward name="success" path="/jsp/editFiche.jsp" redirect="false" />
     
    	    </action>
    Le openEditAction est appelé lors de l'ouverture de ta page et le editAction lors de la validation du formulation. Dans la première action tu charge les différents éléments que tu souhaite pour le formulaire. Dans l'autre action tu les recupère avec l'ActionForm

    Par contre je vois pas pourquoi plusieurs actions surtout 3 :

    récupération des données concernant ma fiche, loader ces 3 listes
    Une action pour les deux traitements c'est beaucoup mieu

  6. #6
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    merci bcp , je vois maintenant ce que je dois faire j'essaierai ca , et j'espère que ca marcherai

    merci

  7. #7
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    j'ai du faire une erreur de frappe ! je ne l'écrit pas ainsi dans mon fichier struts-config

  8. #8
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Quand tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String id = request.getParameter("lId");
    tu récupère bien une valeur ?

    Après tu récupère la fiche en fonction de l'id quand tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fiche=o.loadfiche(idf);
    ça c'est bon.

    Par contre quand tu fais ça :
    tu met dans ton Form les valeurs d'origine de ta fiche tu perd donc les modifications effectuées.

  9. #9
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    j'ai ajouté un ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String i = (String)request.getParameter("id");
    		    System.out.println(i);
    pour voir ci j'ai l'id dans mon request et ca s'affiche sur la console.

    lorsque j'ai fait un bean: write comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <center>Le projet N° : 
    <bean:write name="gp" scope="session" property="idprojet" />
    <br><br> 
    <html:form action="enregistre.do">
      Nom Projet: <html:text property="libelle_projet"  value="libelle_projet">
       </html:text>
    	<html:submit value="Enregistrer" property="action"></html:submit>
    </html:form>
    </center>
    j'ai ca :
    Images attachées Images attachées  

  10. #10
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Par défaut
    Salut à tous,

    en effet tu dois ajouter la valeur de "id" dans le pfrom, c'est ton bean à lire dans ta page jsp,

    et pour acceder au libelle du projet tu dois dois ajouter le nom du bean et enlever l'attribus valeur



    Bonne chance

  11. #11
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    ca marche ! merci

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

Discussions similaires

  1. [PrestaShop] Modification du formulaire pour la version PrestaShop%u2122 1.4.6.2
    Par pops4 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 15/11/2013, 11h08
  2. Pb pour formulaire de modification.
    Par rob1son76 dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/09/2011, 17h17
  3. Réponses: 5
    Dernier message: 17/05/2010, 23h12
  4. besoin d'aider pour formulaire de modification des données
    Par lesultan2007 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/08/2008, 18h41
  5. problème formulaire précocher des cases pour modif
    Par Skeud007 dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2006, 21h58

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