Modifier un enregistrement avec le modèle DAO et les procedures stockées.
Bonjour à tous,
j'ai un problème de modification dans mon projet.Au fait, quand je cliques sur le lien de modification le formulaire de modification s'affiche sans les informations de l'enregistrement que je veux modifier
(c'est à dire au lieu de m'afficher un formulaire avec des champs remplis ça m'affiche un formulaire avec des champs vides).
voici le code de EtudiantDaoImpl :
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 26 27 28 29 30 31
|
public class EtudiantDaoImpl implements EtudiantDao {
private static final String SelectionCons = "call SelectionEtudiant()";
private static final String insertionEtudiant = "call AjoutEtudiant(?,?,?,?)";
private static final String suppressionEtudiant = "call SuppressionEtudiant(?)";
private static final String SelectionParNumEtudiantCons = "call SelectionParNumEtudiant(?)";
public List<Etudiant> EtudiantSelectionner(String NumEtudiant) throws DAOException {
Connection connexion = null;
PreparedStatement preparedStatement = null;
ResultSet resultat = null;
List<Etudiant> resultas = new ArrayList<Etudiant>();
try{
connexion = daoFactory.getConnection();
preparedStatement = connexion.prepareStatement(SelectionParNumEtudiantCons);
preparedStatement.setString(1, NumEtudiant);
resultat = preparedStatement.executeQuery();
while(resultat.next()){
resultas.add(Stockage(resultat));
}
}catch(SQLException s){
throw new DAOException("Votre rêquete a trouvé de(s) enregistrement(s).");
}finally{
fermeturesSilencieuses(resultat,preparedStatement,connexion);
}
return resultas;
}
} |
Voici le code 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
| protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String matricule = request.getParameter(matriculeCons);
HttpSession session = request.getSession();
Map<String,Etudiant> resultas = (HashMap<String, Etudiant>) session.getAttribute(sessionEtudiantUnique);
if(matricule != null && resultas != null){
try{
Etudiant etudiant = new Etudiant();
etudiantDao.EtudiantSelectionner(matricule);
resultas.put(etudiant.getNumEtudiant(),etudiant);
resultas.put(etudiant.getNomEtudiant(),etudiant);
resultas.put(etudiant.getPrenomEtudiant(),etudiant);
resultas.put(etudiant.getAdresseEtudiant(),etudiant);
}catch(DAOException d){
d.printStackTrace();
}
session.setAttribute(sessionEtudiantUnique, resultas);
}
this.getServletContext().getRequestDispatcher(cheminModif).forward(request, response);
} |
Voici le code la 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Création d'un etudiant</title>
<link type="text/css" rel="stylesheet" href="<c:url value ="inc/style.css"/>"/>
</head>
<body>
<c:choose>
<c:when test = "${empty sessionScope.resultas}">
<c:out value = "La map est vide."/>
</c:when>
<c:otherwise>
<c:forEach items = "${sessionScope.resultas}" var = "mapEtudian">
<div>
<c:import url = "/inc/menu.jsp"/>
<form method="post" action = "<c:url value="/etudiant"/>">
<fieldset>
<legend>Informations etudiant</legend>
<label for="nomClient">Matricule <span
class="requis">*</span></label>
<input type="text" id="nomClient"
name="matricule" value="<c:out value = "${mapEtudian.value.numEtudiant}"/>" size="20" maxlength="20" />
<br />
<label for="nomClient">Nom <span
class="requis">*</span></label>
<input type="text" id="nomClient"
name="nom" value="<c:out value = "${mapEtudian.value.nomEtudiant}"/>" size="20" maxlength="20" />
<br />
<label for="prenomClient">Prénom </label>
<input type="text" id="prenomClient"
name="prenom" value="<c:out value = "${mapEtudian.value.prenomEtudiant}"/>" size="20" maxlength="20" />
<br />
<label for="adresseClient">Adresse
<span class="requis">*</span></label>
<input type="text" id="adresseClient"
name="adresse" value="<c:out value = "${mapEtudian.value.adresseEtudiant}"/>" size="20" maxlength="20" />
<br />
</c:forEach>
</c:otherwise>
</c:choose>
</fieldset>
<input type="submit" value="Valider" />
<input type="reset" value="Remettre à zéro" /> <br/>
</form>
</div>
</body>
</html> |
J'ai réussi pour l'insertion,la sélection et la suppression.
Votre aide m'aidera beaucoup à réaliser le TP que notre enseignant nous a confié.Merci d'avance!!!