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.
j ai donc un controller SimpleFormcontroller avec les methodes formbackingobject et onsubmit.
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>
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
Partager