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 MVC] FormController et le "binding"


Sujet :

Spring Web Java

  1. #1
    Invité
    Invité(e)
    Par défaut [Spring MVC] FormController et le "binding"
    Bonjour,

    Je re-re débute dans Spring (pour de bon cette fois j'espère).
    Juste un petite question : Je me suis crée un formulaire avec un champ 'firstname' et un 'lastname'. Ce formuliare est remplis depuis un objet 'Folder' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <spring:bind path="folder.student.firstName">
      <input type="text" name="name" id="name" value="<c:out value="${status.value}" />" size="45" /> *
    </spring:bind>
    <spring:bind path="folder.student.firstName">
       <input type="text" name="name" id="name" value="<c:out value="${status.value}" />" size="45" /> *
    </spring:bind>
    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
     
    @Override
        protected Object formBackingObject(HttpServletRequest request) throws Exception {
            logger.debug("Form Backing Object");
            return folder;
        }
     
        @Override
        protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, 
                Object command, BindException errors) throws Exception {
            logger.debug("onSubmit " + command + " : " + 
                    ((Folder) command).getStudent().getFirstName() +
                    ", " + ((Folder) command).getStudent().getLastName() );
            return showForm(request, response, errors);
        }
    Mais lorsque j'envoie le formulaire j'ai ceci à la console :
    DEBUG [http-8084-Processor22] be.moi.controllers.folder.DemoController - onSubmit be.moi.beans.Folder@db681c : null, null
    Par contre, si je fais un setFirtsName sur student il s'affiche bien dans mon formulaire et est bien récupèrer.
    Que faut'il fauire pour que l'objet 'command' reçu dans la mét§hode onSubmit soit correctement remplis ?

    Merci

  2. #2
    Membre régulier Avatar de Rocket
    Profil pro
    Inscrit en
    Février 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 72
    Points : 82
    Points
    82
    Par défaut
    Salut, je ne comprends pas très bien ton problème.
    C'est lorsque tu saisis des infos dans tes champs qu'il te retourne nulll ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui, c'est ça.
    Mais je viens de trouver mon erreur (en voulant répondre à ta question).

    Mes deux inputs portaient la même attribut name="name".
    Je les ai renommé respectivement en 'student.firstName' et 'student.lastName' et ça fonctionne très bien.

    Il me reste juste à savoir si c'était parce que les deux inputs portaient le même name ou si il faut que l'attribut name corresponde au bean command. Je pencherais pour la seconde solution (lien entre l'attribut et le bean) mais alors pourquoi est-ce que je n'ai pas du mettre 'folder.student.lastName' et 'folder.student.firstName' car mon bean command est 'folder' (et contient un objet 'student' qui a les propriétés 'lastName' et 'firstName')..

    Je verrais ça ce soir car la, je dois bosser.

    Merci pour ton aide.

  4. #4
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Points : 6 301
    Points
    6 301
    Par défaut
    Dans le "name" d'un champs html, ne met pas manuellement le nom, mais utilise l'expression "${status.expression}"

    Cela va directement générer le bon "nom" d'apres la propriété liée
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Waw +100 pour l'info. Merci beaucoup

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

Discussions similaires

  1. [Spring MVC],[<form:input] pas de binding !
    Par Invité dans le forum Spring Web
    Réponses: 4
    Dernier message: 20/12/2007, 16h44
  2. [Spring MVC] Binding radiobutton sur base d'une enum
    Par Invité dans le forum Spring Web
    Réponses: 11
    Dernier message: 14/12/2007, 14h19
  3. [Spring MVC] spring bind tag
    Par Socrate93 dans le forum Spring Web
    Réponses: 2
    Dernier message: 19/09/2007, 12h18

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