Bonjour,
je suis en trein de réaliser une application en utilisant spring mvc mais j'ai des difficultés pour réaliser la pagination.

1. voici le code du controleur
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 
 
package org.gestion.aeropro.controleur;
 
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import javax.imageio.ImageIO;
import javax.naming.NamingException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
 
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;
 
import org.apache.commons.io.IOUtils;
import org.gestion.aeropro.entites.Categorie;
import org.gestion.aeropro.entites.Licence;
import org.gestion.aeropro.entites.Personnel;
import org.gestion.aeropro.entites.QualificationType;
import org.gestion.aeropro.entites.Renouvellement;
import org.gestion.aeropro.metier.IAdministrateurService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.support.PagedListHolder;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.multipart.MultipartFile;
 
import beansJasper.JasperInputForm;
import beansJasper.JasperInputForm2;
 
 
@Controller
@RequestMapping(value="/renouvellement")
 
public class RenouvellementLicenceControleur {
 
	@Autowired
	private IAdministrateurService metier;
	SimpleDateFormat form= new SimpleDateFormat("yyyy-MM-dd");	   
 
 
	@RequestMapping(value="/index")
 
	public String index(HttpServletRequest request,ModelMap modelMap){
 
		List<Renouvellement> searchResults=metier.listeTousRenouvellement();
		PagedListHolder pagedListHolder=new PagedListHolder(searchResults);
 
		int page = ServletRequestUtils.getIntParameter(request, "p", 0);
		pagedListHolder.setPage(page);
		int pageSize = 10;
		pagedListHolder.setPageSize(pageSize);
		modelMap.put("pagedListHolder",pagedListHolder);
 
		//envoie vers la vue 
		return "renouvellements";
	}
 
}
2.la page jsp

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="utf-8"%>
 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="f" %>
<%@taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="tg" tagdir="/WEB-INF/tags" %>
 
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Renouvellement Licence</title>
<link rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/styles.css" type="text/css" />
 
</head>
<body>
 
  <div id="container">
 
        <!--insertion de la page d'entete-->
        <%@include file="header.jsp"%>
 
        <!--corps de la page -->
        <div id="body" class="width">
 
           <section id="content" class="one-column">
				<article>
				<a href="/aeropro/renouvellement/nouveau">
					<img  src="<%=request.getContextPath() %>/resources/image/nouveau.gif" alt="nouveau" 
					title="nouveau"/>
				</a>
				</article>
               <article>
                   <!--Mettre ce que l'utilisateur doit voir comme texte -->
                   <center><h4>GESTION DES RENOUVELLEMENTS DES LICENCES</h4></center>
 
                   <fieldset>
 
					 <font color="blue">${message}</font>
                       <legend>Veuillez sélectionner une licence</legend>
 
                     <%-- // use our pagedListHolder --%>
					<jsp:useBean id="pagedListHolder" scope="request"
					 type="org.springframework.beans.support.PagedListHolder"/>
 
 
                    <%-- // create link for pages, "~" will be replaced 
                      later on with the proper page number --%>
					 <c:url value="/renouvellements.jsp" var="pagedLink">
					 	<c:param name="p" value="~"/>
					</c:url> 
 
                      <%-- // load our paging tag, pass pagedListHolder and the link --%>
					<tg:paging pagedListHolder="${pagedListHolder}" pagedLink="${pagedLink}"/>
 
					 <table class="table1">
						  <tr>
						  <th>N° </th> <th>N°LICENCE</th><th>PROPRIETAIRE</th> 
						  <th>DATE RENOUVELLEMENT</th><th>DATE EXPIRATION</th>
						  <th>GESTION</th>
						  </tr>
 
					<c:forEach items="${pagedListHolder.pageList}" var="li">
 
						   <tr style="color:blue;font-weight:bold;text-align:right">
							   <td>${li.num_ren}</td>						   
							   <td>${li.licence.num_lic}</td> 
							   <td>${li.licence.personnel.getNom_pe()}</td> 
							   <td><fmt:formatDate pattern="dd/MM/yyyy" value='${li.date_ren}' /> </td>
							   <td><fmt:formatDate pattern="dd/MM/yyyy" value='${li.date_exp}' /> </td>
 
							   <td>
							   	<a href="updateRenouvellement?num_ren=${li.num_ren}">
							   		<img  src="<%=request.getContextPath() %>/resources/image/edits.png" alt="modifier" title="Modifier"/>
							   	</a>
 
							   	<a href="deleteRenouvellement?num_ren=${li.num_ren}" 
								   	 onclick="return confirm('Voulez-vous vraiment supprimer cette information?');">
								   	 <img  src="<%=request.getContextPath() %>/resources/image/deletes.png" alt="supprimer" title="Supprimer"/>
							   	</a>
 
 
							   	<a href="retireRenouvellement?num_ren=${li.num_ren}">
							   		<img  src="<%=request.getContextPath() %>/resources/image/no.png" alt="retirer" title="Retirer"/>
							   	</a>
 
							   	<a href="<%=request.getContextPath()%>/edition/generateReport?num_ren=${li.num_ren}&id=renouvellement">
						   		<img  src="<%=request.getContextPath() %>/resources/image/print.png" alt="modifier" title="Imprimer"/>
						   		</a>
 
							    </td>
 
						  </tr>
						  </c:forEach>
					  </table>
 
				<%-- // load our paging tag, pass pagedListHolder and the link --%>
				<tg:paging pagedListHolder="${pagedListHolder}"  
                                     pagedLink="${pagedLink}"/>	  
 
 
 
                   </fieldset>
 
 
 
              </article>
 
            </section>
           <div class="clear"></div>
        </div><!--fin div body -->
 
        <!--insertion de la page footer-->
 
      </div>  <!--fin div contenu -->
 
</body>
</html>
3. aperçu après exécution

Pièce jointe 192233