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 :

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;
*
****
*
}
-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
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 );
********}
****}
}
-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
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;
********}
*
****}
}
-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
<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>
En attente de vos réponses , merci .