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] SimpleformController


Sujet :

Spring Web Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Par défaut [Spring MVC] SimpleformController
    Salut tout le monde,

    j ai deux phenomenes bizarres qui se produisent avec mon app Spring (Spring MVC + spring busines logic).

    mon projet est le suivant : une page web ou se trouve un formulaire (une date peut etre mise la) et un bouton de submit.
    sur cette meme page se trouve la table qui affiche les resultats d une recherche liee au formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <bean id="kplusWebContr" class="com.db.kplusweb.web.controllers.KplusWebController" lazy-init="default" autowire="default" dependency-check="default">
      <property name="sessionForm" value="true" /> 
      <property name="commandName" value="loquesea" /> 
      <property name="commandClass" value="com.db.kplusweb.web.commandobjects.KTradesFormCommandObject" /> 
      <property name="formView" value="kplus" /> 
      <property name="constants" ref="constants" /> 
      <property name="myBusinessProcess" ref="myBusinessProcess" /> 
      </bean>
    j ai donc un controller SimpleFormcontroller avec les methodes formbackingobject et onsubmit.

    le premier truc louche :
    premier acces a la page, le formbackingobject s execute (normal, aucun commandObject n est dans la session). la page s affiche avec le formulaire, la table de recherche est vide : OK
    on insere une date, submit -> le onsubmit s execute, la page s affiche avec la table de recherche remplie : OK
    on insere une autre date, submit : la methode formbackingobject s execute et ensuite le onsubmit ???

    alors la je comprends pas.

    pourquoi le formbacking object s execute a nouveau ? la pile d execution me dit que la methode HandleInvalidSubmit s est executee. si elle s est executee, ca veut dire que mon commandObject s est perdu et n est plus dans la session (j ai le sessionForm = true ). comment c est possible ? il etait bien dans la session lors du premier submit ?

    deuxieme truc louche et super grave.
    si un user A met une date et fait un submit et qu un user B sur une autre machine, donc autre session, se loggue sur la page, il se retrouve avec les choix (et donc la date) du user A !?!?

    les controllers Spring sont des singletons ? les command Objects sont partages ?

    Je dois dire que je suis perdu.

    merci bcp pour votre aide.

    tery

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut
    pour ton premier truc louche je pense savoir ce qu'il se passe.
    quand la fonction onsubmit s'éxecute ca vide l'objet "command" de la session.
    le seul moyen pour palier a cela : enregistrer en session ton objet ou un id et dans ton formbackingobject tu regarde si l'objet se trouve en session.

    Pour spring un SimpleFormController n'est que 2 étape (formbackingobject et onsubmit) à la fin il retire tout les info concernant le controller

    pour ton second point : ta date est elle un attribut dans ton controlleur ou un autre bean de ton fichier de config ?
    car les attributs sont globaux à tout le monde

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut
    Pour ton premier point, j'ai eu quelques problèmes avec le formBackingObject.
    Il ne s'éexecutait pas, mais le résultat était le même, j'avais pas mon command en session.
    J'ai réécrit initbinder dans mon controleur et viré le foormbackingObject, et ça a marché.

    Pour le second, a priori tous les beans sont des singletons sauf si indiqué différement. Perso chuis pas encore arrivé aux tests distribués, mais je m'attend a quelques surprises....

Discussions similaires

  1. [Spring MVC] SimpleFormController, Command et Validator
    Par ginkas31 dans le forum Spring Web
    Réponses: 6
    Dernier message: 22/02/2008, 15h36
  2. [Spring MVC] Problèmes avec SimpleFormController"s"
    Par SuperGandalf dans le forum Spring Web
    Réponses: 2
    Dernier message: 13/06/2007, 10h38
  3. [Spring MVC] SimpleFormController + checkbox
    Par sothea dans le forum Spring Web
    Réponses: 3
    Dernier message: 15/05/2007, 23h22
  4. [Spring MVC] problème SimpleFormController
    Par sothea dans le forum Spring Web
    Réponses: 1
    Dernier message: 15/05/2007, 17h38
  5. Réponses: 2
    Dernier message: 16/02/2006, 10h29

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