Bonjour ,
Voila j'ai un petit soucis dans la modification d'un tableau dans mon application JEE , j'affiche dans des input de type text mes coordonnées de la base de donnée , je veux que quand je fait une modification sur une colone et que je clique sur Moddifier a gauche .. la case ou les cases se modifient .
Mais quand je change par exemple le nom de l'auteur et que je clique sur modifier , les changement ne se font pas (c'est comme si j'actualise) et ca me donne ce lien sur la barre d'adresse : http://localhost:8080/SiteWeb/modifi...News?idNewsM=1
Bref , voila les code que j'utilise :
-Interface DAO :
-Implementation de l'interface :
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 package com.tomo.dao; * import java.util.ArrayList; * import com.tomo.beans.News; * public interface NewsDAO { * ***** * ****void modifierNews( News news ) throws DAOException; * **** * }
-Servlet de la page ou j'affiche le tableau :
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 public class NewsDAOimplement implements NewsDAO { * ****private DAOFactory********* daoFactory; * **** * ****private static final String requeteModifier* = "update news set titre = ? , auteur = ? , resumer = ? , contenue = ? where idnews = ?"; * ***** * ****public NewsDAOimplement( DAOFactory daoFactory ) { ********super(); ********this.daoFactory = daoFactory; ****} * *** ****@Override ****public void modifierNews( News news ) throws DAOException { ********Connection connect = null; ********PreparedStatement statement = null; * ********try { ************connect = daoFactory.getConnection(); ************statement = inisialisationPrepareStatement( connect, requeteModifier, true, news.getTitre(), ********************news.getAuteur(), news.getResumer(), news.getContenue(), news.getId_news() ); * ************int resultat = statement.executeUpdate(); * ************if ( resultat == 0 ) { ****************throw new DAOException( "Aucune modification n'as étais appliquée" ); ************} * ********} catch ( SQLException e ) { ************e.printStackTrace(); ************throw new DAOException( "Erreur lors de la modification de l'article" + e ); ********} finally { ************fermeture( statement, connect ); ********} ****} }
-Page JSP ou j'affiche le tableau :
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59 @WebServlet( "/modificationNews" ) public class ModificationNews extends HttpServlet { ****private static final long** serialVersionUID* = 1L; * ****private static final String vue_modifierNews* = "/WEB-INF/modifier_news.jsp"; * ****public static final String* InisialDaoFactory = "daoFactory"; * ****private static final String NewsSession****** = "sessionNews"; * ****private static final String champ_idNewsM**** = "idNewsM"; * ****private NewsDAO************ newsDAO; * ****public ModificationNews() { ********super(); ********// TODO Auto-generated constructor stub ****} * ****public void init() throws ServletException { ********this.newsDAO = ( (DAOFactory) getServletContext().getAttribute( InisialDaoFactory ) ).getNewsDAO(); ****} * ** ****protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, ************IOException { * ********String idnews = getValeurChamp( request, champ_idNewsM ); * ********long idNewsM = Long.parseLong( idnews ); * ********HttpSession session = request.getSession(); * ********Map<Long, News> mapNews = (HashMap<Long, News>) session.getAttribute( NewsSession ); * ********if ( idNewsM != 0 && mapNews != null ) { * ************newsDAO.modifierNews( mapNews.get( idNewsM ) ); ************session.setAttribute( NewsSession, mapNews ); ********} * ********this.getServletContext().getRequestDispatcher( vue_modifierNews ).forward( request, response ); * ****} * ****public String getValeurChamp( HttpServletRequest request, String champ ) { * ********String value = request.getParameter( champ ); * ********if ( value == null || value.trim().length() == 0 ) { * ************return null; * ********} else { ************return value; ********} * ****} }
En attente de vos réponses , merci .
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
46
47
48 <center> <table border="1"> <thead> <tr> <th>Titre</th> <th>Auteur</th> <th>resumer</th> <th>Contenue</th> <th>Modifier</th> <th>Supprimer</th> </tr> </thead> * * <tfoot> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> * </tr> </tfoot> * <c:choose> <c:when test="${empty sessionScope.sessionNews}"> <td colspan="6" align="center">Aucune News n'est disponible</td> </c:when> <c:otherwise> <tbody> <c:forEach items="${sessionScope.sessionNews}" var="mapNews"> <tr> * <td><input type="text" value="<c:out value="${mapNews.value.titre}"></c:out>"/></td> <td><input type="text" value="<c:out value="${mapNews.value.auteur}"></c:out>"/></td> <td><textarea cols="20" rows="3"><c:out value="${mapNews.value.resumer}"></c:out></textarea></td> <td><textarea cols="20" rows="3"><c:out value="${mapNews.value.contenue}"></c:out></textarea></td> <td> <a href="<c:url value="/modificationNews"><c:param name="idNewsM" value="${mapNews.key}"/></c:url>">Modifier</a> </td> <td> <a href="<c:url value="#"><c:param name="idTomo" value="${mapNews.key}"/></c:url>">Supprimer</a>* </td> </tr> </c:forEach> </tbody> </c:otherwise> </c:choose> </table> </center>![]()
Partager