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

Spring Web Java Discussion :

Spring. traitement d'un formulaire dynamique [MVC]


Sujet :

Spring Web Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 54
    Points : 39
    Points
    39
    Par défaut Spring. traitement d'un formulaire dynamique
    Bonjour a tous,

    j'aimerai savoir comment traiter un formulaire dynamique avec spring

    j'ai un premier formulaire qui demande combien de nombre on veut trier

    ensuite le deuxième formulaire demander d'entrer les x nombres

    avec Spring Mvc pour les formulaire on doit crée un classe qui reflète le formulaire

    donc si j'ai un formulaire

    nom : input name=nom
    prenom : input name=prenom

    la classe java qui sera instancié lors du submit sera

    String nom, prenom; + getters and setters


    comment doit je configurer cette classe si je ne connait pas a l'avance
    le nombre de champs que j'aurais dans mon formulaire?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 54
    Points : 39
    Points
    39
    Par défaut Ajout de la balise [code]. Merci d'y penser.
    voici mon formulaire.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <% int j = Integer.parseInt(((NbrEntier)session.getAttribute("nbrentier")).getNbr()); %>
     
    <form method="post">
    	<% for (int i=0;i<j;i++) { %>
                  Nombre <%= i+1 %> : 
                  <input type="text" name="nbrencod<%= i+1 %>" value="" />
    	<% } %>					
    	<input type="submit" name="send" value="Send" />
    </form>

    comment je peut récupérer les données du formailaire avec Spring MVC

    j'utilise une classe qui hérite de SimpleFormController
    et j'ai redéfinis les méthodes

    formBackingObject et onSubmit

    j'utilise égallement une classe avec laquelle spring doit mapper les données du formuliare

    je ne vois pas comment configurer cette classe si je ne connais pas a l'avance
    le nombre de champs de saisie qu'il y aurra dans le formulaire

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    si tu ne connais pas le nombre de champs dans la classe de "command" met une Collection (List, Set, ...)
    et avec la méthode onBinder tu recupere tes champs "nbrencod"+i et ajouter les dedans ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class MaClassCommand {
     
     
    Collection liste;
    //+getter et setter
    }
    et dans ton on submit ( ou dans onBind())
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,	BindException errors) throws Exception{
     
    	MaClassCommand comm = (MaClassCommand) command;
    	List liste = new ArrayList()
    int nbentier = Integer.parseInt(request.getParameter("nbentier");
    	for (int  i=0 ,i<nbentier;i++){
    		liste.add(new Integer(request.getParameter("nbrencod"+i));
    	}
    	comm.setListe(liste);
    ...
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 54
    Points : 39
    Points
    39
    Par défaut
    merci

    sa fonctionne.

    mais sa ne fait pas tres "Spring"

    il n'y a pas un moyen de configurer la class de "command"

    pour que spring mappe les données du formulaire?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    en regandant sur le tuto : http://tahe.developpez.com/java/springmvc-part2/
    regarde la partie des formulaires notament la selection multiple .
    j'ai une petite idée a essayer
    dans ta classe "command" tu met un tableau d'objet en l'occurence Integer[]
    et dans ton formulaire le nom de ta variable pour tout les champs textes
    normalement le navigateur comprend qu'il s'agit d'un tablea est le envoi en post comme ceci 'liste=1,2,3,4,5,...' et spring le trasforme en tableau.

    Enfin ceci est enthéorie j'ai jamais vérifié.
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class MaCommand{
     
    Integer[] listInteger;
    ...
     
     
    }
    page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input name='listInteger' value="<c:out value='${listInteger[0]}'">
    <input name='listInteger' ...>
    A voir si ca marche.
    Dit moi ce qu'il en est Merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 54
    Points : 39
    Points
    39
    Par défaut
    sa fonctionne

    donc

    dans le formulaire j'ai plusieur input type="text" avec le même nom

    dans la class de l'objet "command" j'ai un int [] même nom que les input;

    et les getters and setters

    Spring injecte bien les valeurs du formulaire dans le tableau

    merci beaucoup

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

Discussions similaires

  1. Traitement php d'un formulaire dynamique !
    Par Argol dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 05/03/2009, 16h10
  2. [Spring MVC] Formulaire Dynamique Spring MVC
    Par jujuz dans le forum Spring Web
    Réponses: 1
    Dernier message: 21/04/2008, 16h11
  3. [Spring MVC] Formulaire dynamique
    Par partyboy dans le forum Spring Web
    Réponses: 7
    Dernier message: 17/10/2005, 10h52
  4. formulaire dynamique
    Par shirya dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/10/2004, 16h13
  5. [struts]Formulaire dynamique
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/05/2004, 16h35

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