Bonjour à tous,
Pour un projet de fin d'études je réalise un site web à l'aide Spring et j'ai quelques difficultés au niveau de mes formulaires voilà l'erreur qui m'ai renvoyé.
Cependant j'arrive tout de même à récupérer les informations saisies dans mon formulaire dans la successView. Je ne comprends pourquoi j'ai cette erreur. Si l'objet n'est pas présent en mémoire comment fait il pour y accéder dans la successView ?
Voilà ma configuration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part org.hobr.proto.engine.web.controllers.userSubscriptionController.handleRequestInternal() #273: Invalid submit detected: Form object not found in session
dispatcher-servlet.xml
userSubscriptionController.java
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
16
17
18
19
20
21
22
23
24
25 <!-- View Resolver --> <bean id="jstlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="order" value="1"/> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/pages/"/> <property name="suffix" value=".jsp"/> </bean> <!-- urlMapping Configuration --> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <value>/pages/views/userSubscription.do=userSubscriptionController</value> </property> </bean> <!-- userSubscription Configuration --> <bean id="userSubscriptionController" class="org.hobr.proto.engine.web.controllers.userSubscriptionController"> <property name="sessionForm" value="true" /> <property name="formView" value="views/userSubscription" /> <property name="successView" value="views/userSubscriptionSuccess" /> <property name="commandClass" value="org.hobr.proto.engine.web.controllers.userSubscription" /> <property name="commandName" value="userSubscription" /> </bean>
userSubscription.jsp
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
16
17
18 public class userSubscriptionController extends SimpleFormController { private final Logger sLOGGER = Logger.getLogger(getClass()); protected Object formBackingObject(HttpServletRequest request) throws Exception { userSubscription form = new userSubscription(); return form; } protected ModelAndView onSubmit(HttpServletRequest request,HttpServletResponse response, Object formulaire, BindException errors) throws Exception { userSubscription form = (userSubscription) formulaire; return new ModelAndView(getSuccessView(), "userSubscription", form); } }
userSubscriptionSuccess.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form name="subscription" method="POST" action="userSubscription.do"> <label for="prenom">Prénom</label> <input id="prenom" type="text" name="prenom" maxlength="25" /> <br /> <label for="nom">Nom</label> <input id="nom" type="text" name="nom" maxlength="25" /> <br /> <label for="email">Email</label> <input id="email" type="text" name="email" maxlength="30" /> <input type="submit" name="envoyer" /> </form>
Solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h2>Inscription</h2> <p> Merci de votre inscription un mail va vous être envoyé à cette adresse : ${userSubscription.email}. </p>
supprimier sessionForm du dispastcher-servlet.xml ou le mettre à false.
Partager