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 2 Java Discussion :

[Struts 2] Récupération plusieurs valeurs dans un formulaire


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 77
    Par défaut [Struts 2] Récupération plusieurs valeurs dans un formulaire
    Hello!

    J'aurais besoin d'un petit coup de pouce parce que je suis un peu bloqué!

    Je travaille avec struts 2 et j'ai une liste qui affiche à chaque ligne une date et un status liés à une étape (donc chaque étape à une date et un status), et je me sers de cette liste pour que l'utilisateur puisse modifier les dates et les status qu'il souhaite.

    Mais mon problème est que lorsque j'envoi le formulaire, je ne récupère qu'une seule valeur si j'appelle tous mes champs (date par exemple) avec le même nom alors que j'aimerais tous les récupérer pour pouvoir faire toutes les updates (forcément, j'utilise un iterator pour faire la liste, donc je ne sais pas donner de noms différents à chaque champ).

    Et bien sur, il faut que je puisse les afficher (parce que je viens d'essayer, en mettant comme nom, le nom d'un tableau que j'ai créé dans mon action, et j'arrive bien à tous les récupérer, mais du coup, je ne peux plus les afficher).

    Quelqu'un aurait une solution à mon problème?

    Merci d'avance!

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Citation Envoyé par Angy987 Voir le message
    Hello!

    J'aurais besoin d'un petit coup de pouce parce que je suis un peu bloqué!

    Je travaille avec struts 2 et j'ai une liste qui affiche à chaque ligne une date et un status liés à une étape (donc chaque étape à une date et un status), et je me sers de cette liste pour que l'utilisateur puisse modifier les dates et les status qu'il souhaite.

    Mais mon problème est que lorsque j'envoi le formulaire, je ne récupère qu'une seule valeur si j'appelle tous mes champs (date par exemple) avec le même nom alors que j'aimerais tous les récupérer pour pouvoir faire toutes les updates (forcément, j'utilise un iterator pour faire la liste, donc je ne sais pas donner de noms différents à chaque champ).

    Et bien sur, il faut que je puisse les afficher (parce que je viens d'essayer, en mettant comme nom, le nom d'un tableau que j'ai créé dans mon action, et j'arrive bien à tous les récupérer, mais du coup, je ne peux plus les afficher).

    Quelqu'un aurait une solution à mon problème?

    Merci d'avance!
    Jamais fait, mais tu dois googleliser ou chercher dans la doc STRUTS, il me semble que struts permet de gérer des propriétés qui sont des listes ou des maps.

  3. #3
    Membre éclairé

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 772
    Par défaut
    C'est un problème que j'ai eu et que j'ai solutionné sous Struts 2.
    Il te faut faire une List<TonObjetLigne> mesLignes avec un getter et un setter dans ton action. Le bean TonObjetLigne contient un constructeur vide, et les getter et setter pour tes 2 variables, en y ajoutant une variable de type int nommée index (avec getter et setter aussi). Il faudra que tu mettes un index commençant à 1 quand tu ajoutes des objets à cette ligne.

    Tu remplies ton objet mesLignes dans la méthode Preparable de ton action (Interface com.opensymphony.xwork2.Preparable).

    Ensuite, il faut que tu crées au même niveau de répertoire que la classe de ton action un fichier nommé : TonNomDAction-conversion.properties

    Et dedans tu mets :
    Element_mesLignes = com.xxx.yyy.TonObjetLigne
    KeyProperty_mesLignes = index
    CreateIfNull_mesLignes = true
    Ca c'est pour la partie Java.

    Pour la partie JSP, il faut que tu utilises classiquement un s:ITERATOR sur ton objet mesLignes, et par exemple si tu veux un INPUT TEXT sur une des 2 variables (appelons-la status), tu mets dans l'iterator :
    <s:textfield name="mesLignes(%{index}).status"/>
    Avec ca, Struts 2 sera capable de re-remplir ta liste avec les valeurs saisies/modifiées par l'utilisateur.

    (ATTENTION aux majuscules minuscules dans le fichier properties et dans le JSP)

    Je te conseil pour le bouton SUBMIT de sauvegarde d'utiliser l'attribut METHOD="maMethodeSauver" et de créer une méthode dans ton action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public String maMethodeSauver()
    {
    // Ton code qui utilise ta liste mesLignes avec les valeurs de l'utilisateur
    return SUCCESS;
    }
    Il est extrêmement difficile de trouver comment faire tout ca, j'ai ramer pour y arriver, cela devrait être dans la FAQ Struts 2.

    J'en avais déjà parlé ici, mais que avec la moitié de la solution : http://www.developpez.net/forums/d60...t-vers-action/

    L'url où j'ai trouvé mes informations (la seule que je connaisse) : http://struts.apache.org/2.x/docs/type-conversion.html

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/02/2011, 18h17
  2. Transmettre plusieur valeur dans un formulaire
    Par erigoal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2008, 22h52
  3. Réponses: 7
    Dernier message: 14/01/2008, 12h12
  4. Réponses: 10
    Dernier message: 03/07/2006, 14h55
  5. récupération de valeur dans un sous-formulaire
    Par Sebastien_INR59 dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 11h48

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