Bonjour,
Je parviens à submit depuis un formulaire en JSP (en utilisant un appel vers une servlet), mais je n'y parviens pas en passant par un formulaire en xhtml, et c'est pourtant dans ce langage que j'en ai besoin.
Ma servlet se nomme "AddModuleExecuteServlet"
Mon form en JSP (fonctionnel) :
Le code de mon xhtml avec mon formulaire (qui ne réagit ni dans la console du serveur, ni dans l'onglet réseau du navigateur... et qui ne submit pas donc).
Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form method="post" action="AddModuleExecuteServlet"> Nom module : <input type="text" name="module.nom_module"/><br/> Intitulé du cours : <input type="text" name="module.intitule_module"/><br/> Nb heures cours : <input type="text" name="module.nb_heures_cours"/><br/> Nb heures td : <input type="text" name="module.nb_heures_td"/><br/> <input type="submit"/> </form>
Le soucis doit êttre tout bête... j'ai essayé un tas de manière de submit mon formulaire, je désespère : pas moyen d'appeler ma servlet.
Code xhtml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <h:form action="AddModuleExecuteServlet" method="post"> <h:outputLabel value="Nom UE : " /> <h:inputText name="module.nom_module" /> <h:outputLabel value="Intitule UE : " /> <h:inputText name="module.intitule_module" /> <h:outputLabel value="Nombre d'heures de TDs : " /> <h:inputText name="module.nb_heures_cours" /> <h:outputLabel value="Nombre d'heures de cours : " /> <h:inputText name="module.nb_heures_td" /> <input type="submit" action="AddModuleExecuteServlet" method="post" /> </div> </h:form>
Au passage, si besoin, le code de ma servlet (AddModuleExecuteServlet.java) :
merci d'avance!
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 package controleur; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import modele.Module; import modele.ModuleManagerRemote; /** * Servlet implementation class AddContactExecuteServlet */ @WebServlet("/AddModuleExecuteServlet") public class AddModuleExecuteServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Module module = new Module(); module.setnom_module(request.getParameter("module.nom_module")); module.setintitule_module(request.getParameter("module.intitule_module")); module.setnb_heures_cours(Integer.parseInt(request.getParameter("module.nb_heures_cours"))); module.setnb_heures_td(Integer.parseInt(request.getParameter("module.nb_heures_td"))); ModuleManagerRemote moduleManagerRemote = EjbLocator.getLocator().getModuleManager(); Module newModule = moduleManagerRemote.ajouter(module); RequestDispatcher rd = null; if(newModule.getid_module() > 0) { rd = request.getRequestDispatcher("/WEB-INF/jsps/moduleAdded.jsp"); } else { rd = request.getRequestDispatcher("/WEB-INF/jsps/moduleNotAdded.jsp"); } rd.forward(request, response); } }
Partager