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 1.3] Initialisation d'un formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut [Struts 1.3] Initialisation d'un formulaire
    Bonjour à tous,

    J'ai besoins d'un petit coup de main sur un projet struts : je possède une liste d'utilisateurs, qui sont associés à d'autres objets. Le but est d'afficher la liste des utilisateurs (à priori une table layout), avec à coté de chaque utilisateur un lien vers la page de modification. J'ai trouvé ça dans la doc, il ne devrait pas y avoir de soucis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <layout:collectionItem title="users.login" property="login" href="user.do" paramId="uid" paramProperty="login"/>
    je pense ensuite mettre dans le struts config ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action path="/user" forward="/detailUtilisateur.jsp"/>
    la page detail utilisateur devra afficher les données concernant l'utilisateur afin de pouvoir les modifier.

    La ou je bloque, c'est ou mettre l'initialisation des données de l'utilisateur (et donc la connexion à la base). J'ai l'habitude de mettre ça dans le constructeur du formulaire quand ça ne dépend pas de l'utilisateur sélectionné, mais la je ne vois pas comment faire ?

    Si quelqu'un peut m'éclairer ?

    Merci

    PS : je préfèrerai ne pas céder à la tentation de mettre les requêtes à la base et le chargement des données en haut de la JSP.

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2011
    Messages : 214
    Par défaut
    Bonjour,

    Tu peux définir une classe Action qui récupèrera les données de l'utilisateur avant d'afficher la page.

    Ensuite tu peux déclarer cette action dans le struts config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <action type="ton.package.DetailUtilisateurAction"  
            path="/user"
            scope="request">
        <forward name="success" path="/detailUtilisateur.jsp" />
    </action>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    Je test ça

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    ça marche nickel, merci !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    Finalement j'enlève le résolu : j'arrive bien à faire exécuter une action avant l'affichage du form, mais pas à pré-remplir le formulaire.

    Récapitulatif de la situation :

    Je visite l'url /modifierUtilisateurGeneral.do?id=1. Dans mon struts-config j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <action
     type="bla.bla.PreparerModifierUtilisateurGeneralAction"
     path="/modifierUtilisateurGeneral"
     scope="request">
     <forward name="success" path="/pages/creationUtilisateurPage1.jsp"></forward>
    </action>
    Dans mon action j'ai (en simplifiant) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
      String idUtilisateur = request.getParameter("id");
      request.setAttribute("login", "login "+idUtilisateur);	
      return mapping.findForward("success");
    }
    J'arrive enfin dans ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text styleClass="champ" property="login"></html:text>
    Le champ texte reste vide, le source html indique value=""
    Je peux remplir mon champ login en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text styleClass="champ" property="login" value='<%=(String)request.getAttribute("login")%>'></html:text>
    Dans ce cas, j'ai bien "login 1" dans la case.

    Évidement, je ne vois pas pourquoi :/

    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    J'ai trouvé un truc qui marche !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Override
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    	this.setLogin((String)request.getAttribute("login"));
    }
    Je me demande si c'est la bonne façon de faire ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2006, 11h52
  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: 6
    Dernier message: 05/07/2005, 16h33
  4. [Struts]Pb d'initialisation d'un Bean !
    Par Ho(c)ine. dans le forum Struts 1
    Réponses: 4
    Dernier message: 26/08/2004, 22h37
  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