Appel de "servlet controleur" depuis la jsp -MVC à contrôleur unique
Bonjour,
J'ai un problème avec l'appel de ma servlet controleur.
Au moment de l'appele la JSP envoit une action et un nom d'utilisateur qui doit être supprimer. Mais cela ne marche pas :( . J'ai testé la requete et les lignes de code dans le contrôleur. ils marchent bien. C'est à dire en mode console je supprime avec le même code. Donc le problème vient de la manière d'appel que j'utilise dans la jsp si je me trompe pas.
Voici le code dans ma JSP:
Code:
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
| <%if(utilisateurs!=null){ %>
<h2>Liste des utilisateurs</h2>
<table border="1">
<tr>
<th>Login</th>
<th>Mot de passe</th>
<th>Code rôle</th>
<c:forEach var="utilisateur" items="${utilisateurs}">
<tr>
<td><c:out value="${utilisateur.utilisateur}"/></td>
<td><c:out value="${utilisateur.motDePasse}"/></td>
<td><c:out value="${utilisateur.codeRole}"/></td>
<td><a href="<c:url value="/main?action=doModifierUtilisateur&utilisateur=${utilisateur.utilisateur}"/>">Modifier</a></td>
<td><a href="<c:url value="/main?action=doSupprimerUtilisateur&log=${utilisateur.utilisateur}"/>">Supprimer</a></td>
</tr>
</c:forEach>
</table>
<br>
<c:out value="${sessionScope.log}"></c:out>
<%}else{ %>
La liste est vide
<a href="<c:url value="/do/edit?id=-1"/>">Ajout</a>
<%} %> |
alors moi je clique sur la ligne soulignée et donc la jsp va appeller le controleur
qui de son côté va executer la méthode appropriée, supprimer l'utilisateur en question.
Mais rien il execute la méthode revient sur la page et la ligne est toujours là!!!
voici le code dans la Servlet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
....
//Détecte l'action supprimer
if(action.equals("doSupprimerUtilisateur")){
this.doSupprimerUtilisateur(request, response);
return;
}
//la methode pour supprimer un utilisateur
public void doSupprimerUtilisateur(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
ConnexionMySQL mySql = new ConnexionMySQL();
String log = (String)request.getAttribute("log");
try {
mySql.getInstruction().executeUpdate("DELETE FROM `t_utilisateur` WHERE `utilisateur`= 'tessf");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//me renvoit à la page jsp ci dessus
this.doGererUtilisateur(request, response);
mySql.arret(); |
Moi je pense que j'ai un problème au niveau de l'appel de la servlet, je me trompe?
Si oui y a t-il une meilleur moyen de faire l'appel tout en passant le nom de l'action et le nom d'utilisateur à supprimer?
Toute proposition est bienvenue. Merci