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] pré-remplissage d'un formulaire


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Points : 29
    Points
    29
    Par défaut [Struts] pré-remplissage d'un formulaire
    Bonjour,

    Je souhaite pré-remplir les champs d'un formulaire contenant les paramètres d'un utilisateur.

    J'ai crée un page qui affiche la liste des utilisateurs. En cliquant sur un utilisateur, je veux afficher le formulaire contenant ses parmètres.

    Je ne sais pas comment faire ???

  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
    Tu peux créér une Action d'initialisation du formulaire.
    Dans la méthode execute, tu codes ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      TaUserForm taUserForm = (TaUserForm) form ;
      taUserForm.setNom(appel de la methode permettant de recuperer le nom ) ;
      taUserForm.setPrenom(appel de la methode permettant de recuperer le prenom ) ;
      return mapping.findForward("success") ;
    Tu auras donc une page jsp qui afffiche la liste des utilisateurs.
    L'action liée à cette page doit déclencher l'action d'initialisation du formulaire via le tag forward, cette dernière redirigeant vers la jsp.

    Je ne sais pas si c'est assez clair.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    C'est effectivement comme çà que je voulais faire : çà commence à rentrer Struts

    Par contre, c'est la récupération des valeurs qui me posent problème.
    Je veux utiliser le tag :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:text property="nom" value="<bean:write name="usr" property="nom" />" />
    Je souhaite donc que value prenne la valeur du bean mais çà ne fonctionne pas comme çà.

  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
    Si tu as initialisé ton formulaire comme je te l'ai décrit dans mon premier message, ceci doit suffire pour l'affichage du nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="nom"/>

  5. #5
    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
    Citation Envoyé par touriste44
    C'est effectivement comme çà que je voulais faire : çà commence à rentrer Struts

    Par contre, c'est la récupération des valeurs qui me posent problème.
    Je veux utiliser le tag :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:text property="nom" value="<bean:write name="usr" property="nom" />" />
    Je souhaite donc que value prenne la valeur du bean mais çà ne fonctionne pas comme çà.
    Si tu as le nom est dejà renseigné avant la forward, il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="nom" />

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    J'ai les erreurs suivantes :
    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
     
    exception 
     
    javax.servlet.ServletException
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	toto.actions.RecupUserAction.execute(RecupUserAction.java:49)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Le code dans ma classe RecupUserAction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ModifUserForm f = (ModifUserForm) form;
    		f.setIdRh(usr.getIdRh());
    		f.setNom(usr.getNom());
    		f.setPrenom(usr.getPrenom());
    		f.setMail(usr.getMail());
    Le code dans modifUser.jsp :
    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
     
     <table>
    			   <tr>
    			    <td>IdRH :*</td>	
    			    <td><html:text property="idRh" readonly="true" /></td>	
    			   </tr>
    			    <td>Nom :*</td>	
    			    <td><html:text property="nom" readonly="true" /></td>	
    			   </tr>
    			   <tr>
    			    <td>Prénom :*</td>
    			    <td><html:text property="prenom" readonly="true" /></td>	
    			   </tr>
    			   <tr>
    			    <td>Email :*</td>
    			    <td><html:text property="mail" readonly="true" /></td>	
    			   </tr>
     
                   </table>
    Le code dans 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
    24
    25
    26
    27
    28
     
    <action
    		    path="/recupUser"
    		    type="toto.actions.RecupUserAction"
    		    scope="session">
    		    <forward name="succes" path="/jsp/modifUser.jsp"></forward>
    		    <forward name="echec" path="/jsp/gestionUser.jsp"></forward>
            </action>   
      		<action
                attribute="modifUserForm"
                input="/jsp/modifUser.jsp"
                name="modifUserForm"
                path="/modifUser"
                scope="session"
                type="toto.actions.ModifUserAction"
                unknown="false"
                validate="true">
                <forward
                    name="echec"
                    path="/jsp/modifUser.jsp"
                    redirect="false"
                    contextRelative="false" />
                <forward
                    name="succes"
                    path="/jsp/gestionUser.jsp"
                    redirect="false"
                    contextRelative="false" />
            </action>

  7. #7
    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
    NullPointerException sur ton objet User, il est null !!!

  8. #8
    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
    Etant donné que ton action RecupUserAction initialise ton formulaire, il faut rajouter name="modifUserForm" et validate="false" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <action  path="/recupUser" 
              type="toto.actions.RecupUserAction" 
              scope="session"
              name="modifUserForm"
              validate="false"> 
              <forward name="succes" path="/jsp/modifUser.jsp"></forward> 
              <forward name="echec" path="/jsp/gestionUser.jsp"></forward> 
    </action>

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 56
    Points
    56
    Par défaut
    ton objet usr n'est pas null ?

    je pense pas que ce soit dans la JSP qu'il y ait le souci, vu la trace, mais tu dois avoir cet objet null.
    Qu'est-ce qu'il y a à la ligne 49 du RecupUserAction.java ?

    Mets des traces dans ta méthode execute...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    attention, tu n'as pas le droit d'imbriquer des balises struts !!!

    Pour l'initialisation, il y a aussi la méthode reset d'un ActionForm, c'est plus old school mais plus simple.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Mon code d'initialisation du formulaire était mal placé dans mon action RecupUserAction

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

Discussions similaires

  1. Conditions pour remplissage d'un Formulaire
    Par budiste dans le forum Langage
    Réponses: 6
    Dernier message: 15/12/2005, 15h36
  2. [STRUTS] Problème Name+Action d'un Formulaire
    Par javaSudOuest dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/09/2005, 17h28
  3. Réponses: 32
    Dernier message: 22/09/2005, 10h40
  4. Réponses: 6
    Dernier message: 05/07/2005, 16h33
  5. [ STRUTS ] [ LOGIC:ITERATE ] tableau dans un formulaire
    Par LoulouFifi dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/06/2004, 16h19

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