bonjour,
qq peut m'aider a faire fonctionner le <layout:pager> car en cliquant sur les numéro de page générés, le navigateur m'affiche le message d'erreur suivant : "Impossible de trouver la page"
merci.
Version imprimable
bonjour,
qq peut m'aider a faire fonctionner le <layout:pager> car en cliquant sur les numéro de page générés, le navigateur m'affiche le message d'erreur suivant : "Impossible de trouver la page"
merci.
Dans le struts-config.xml, as-tu bien défini l'Action SortAction ou le plugin LayoutPlugin, et si tu utilises les Tiles, le controller LayoutRequestProcessor, comme indiqué dans les instructions d'installation ?
j'ai appliquer les instructions indiquées dans le site proposé mais pas de chance. voilà mon code.
struts-config
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 <action path="/sort" type="fr.improve.struts.taglib.layout.sort.SortAction" scope="session" validate="false" /> <action path="/treeview" type="fr.improve.struts.taglib.layout.treeview.TreeviewAction" scope="session" validate="false" /> <controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor"/> <!-- ========== Message Resources Definitions ============================ --> <message-resources parameter="view.ApplicationResources" /> <!-- ========== Plug Ins Configuration ================================= --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in> <plug-in className="fr.improve.struts.taglib.layout.workflow.LayoutPlugin"/> <plug-in className="org.apache.struts.tiles.TilesPlugin" > <set-property property="definitions-config" value="/WEB-INF/tiles-config.xml" /> <set-property property="definitions-debug" value="0" /> <set-property property="definitions-parser-details" value="0" /> <set-property property="definitions-parser-validate" value="false" /> <set-property property="moduleAware" value="true"/> </plug-in>
Quelle url s'affiche lorsque tu positionnes la souris sur un numéro de page ?
Sinon, peux-tu montrer le code de la jsp ?
voila mon url
et mon jspCode:http://192.68.132.9:8990/CNRPS-ViewController-context-root/sort.do?layoutCollection=1&layoutCollectionProperty=&layoutCollectionState=0&pagerPage=1
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
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 <!-- * Description: Etablir décompte * @author Mohamed AMINE OSMAN * @version 1.0 --> <%@ page contentType="text/html;charset=UTF-8"%> <%@ taglib prefix="layout" uri="/WEB-INF/struts-layout.tld" %> <%@ taglib prefix="tiles" uri="/WEB-INF/struts-tiles.tld"%> <%@ taglib prefix="bean" uri="/WEB-INF/struts-bean.tld"%> <%@ page import="fr.improve.struts.taglib.layout.util.LayoutUtils" %> <script type="text/javascript" src="/config/datagrid.js"></script> <%String ur=request.getContextPath();%> <script type="text/javascript"> function getContrat(){ document.forms[0].action ="<%=request.getContextPath()%>/do/EtablirDecompte/getContrat"; document.forms[0].submit(); } function getTranche(){ document.forms[0].action ="<%=request.getContextPath()%>/do/EtablirDecompte/getTranche"; document.forms[0].submit(); } function calculerDecompte(){ document.forms[0].action ="<%=request.getContextPath()%>/do/EtablirDecompte/calculerDecompte"; document.forms[0].submit(); } </script> <layout:html> <tiles:insert template="/TEMPLATES/template.jsp"> <tiles:put name="Header" content="/TEMPLATES/Header.jsp"/> <tiles:put name="Banner" content="/TEMPLATES/Banner.jsp"/> </tiles:insert> <body lang="ar" dir="rtl"> <layout:skin includeScript="true"/> <layout:form action="/EtablirDecompte/getContrat" styleClass="FORM" method="POST" width="100%" > <layout:row styleClass="LABEL"> <layout:text property="rechercherIuAffilie" key="identifiant" size="10" maxlength="10" isRequired="true"/> <layout:date tooltip="dateDecompte" property="dateDecompte" patternKey="dd-MM-yyyy" key="dateDecompte" size="10" isRequired="true"/> <layout:button onclick="getContrat();"><bean:message key="bouton.rechercher"/></layout:button> </layout:row> <layout:row styleClass="LABEL"> <layout:column> <layout:row styleClass="LABEL"> <layout:text property="arPre" key="prenom" size="15" readonly="true"/> <layout:text property="arNom" key="nom" size="15" readonly="true"/> <layout:text property="numCin" key="cin" size="8" readonly="true"/> <layout:text property="arAdresse" key="adresse" size="20" readonly="true"/> <layout:text property="codPos" key="libposition" size="5" readonly="true"/> <layout:text property="rs" key="txtEmployeur" size="10" readonly="true"/> </layout:row> </layout:column> </layout:row> <layout:panel key="contrats" styleClass="FORM" width="90%" align="center"> <layout:pager maxPageItems="5"> <layout:datagrid property="listContrat" styleClass="DATAGRID" selectionAllowed="true" multipleSelectionAllowed="false" model="datagrid"> <layout:datagridColumn mode="I,I,I" width="100" title="refContrat" property="refContrat" /> <layout:datagridColumn mode="I,I,I" width="100" title="idetudiant" property="iuEtudiant" /> <layout:datagridColumn mode="I,I,I" width="100" title="identifiant" property="iuAssure" /> <layout:datagridColumn mode="I,I,I" width="100" title="anneeuniversitaire" property="anneeUniversitaire" /> <layout:datagridColumn mode="I,I,I" width="100" title="montant" property="montant" /> <layout:datagridColumn mode="I,I,I" width="100" title="fraisAff" property="fraisAff" /> <layout:datagridColumn mode="I,I,I" width="100" title="interetInter" property="interetInter" /> </layout:datagrid> </layout:pager> <layout:button onclick="getTranche();"><bean:message key="bouton.detail"/></layout:button> </layout:panel> <layout:panel key="tranches" styleClass="FORM" width="50%" align="center"> <layout:pager maxPageItems="5"> <layout:datagrid property="listTranche" styleClass="DATAGRID" selectionAllowed="true" multipleSelectionAllowed="true" model="datagrid"> <layout:datagridColumn mode="I,I,I" width="100" title="refContrat" property="refContrat" /> <layout:datagridColumn mode="I,I,I" width="100" title="montant" property="montant" /> <layout:datagridColumn mode="I,I,I" width="100" title="dateOperation" property="dateOperation" /> <layout:datagridColumn mode="I,I,I" width="100" title="interetInter" property="interetInter" /> </layout:datagrid> <layout:row> <layout:pagerStatus key="pager.status.pager" /> <layout:pagerStatus key="pager.status.items"/> </layout:row> </layout:pager> <layout:button onclick="calculerDecompte();"> <bean:message key="bouton.calculer"/></layout:button> </layout:panel> <layout:row> <layout:text property="fraisAff" key="fraisAff" size="10" readonly="true"/> <layout:text property="interetInter" key="interetInter" size="10" readonly="true"/> <layout:text property="valeurDecompte" key="valeurDecompte" size="10" readonly="true"/> </layout:row> <layout:row styleClass="LABEL"> <layout:cancel><bean:message key="bouton.quitter"/></layout:cancel> </layout:row> </layout:form> </body> <jsp:include page="/JSP/popUpError.jsp" /> </layout:html>
Le tag layout:pager est sensé fonctionner avec le tag layout:collection.
Je ne suis pas certaine qu'il fonctionne avec le tag layout:datagrid.:?
donc je doit abondonner le pager dans mon datagrid???
En fait, je viens de le tester avec un layout:datagrid et cela fonctionne très bien.;)
Par contre, je n'ai jamais testé plusieurs layout:pager dans une même page.
Peux-tu faire un test en supprimant les layout:panel et en mettant un seul layout:pager ?
je vien d'enlever les layout:panel et en utilisant qu'un seul layout:pager mais pas de chance.
Cela veut donc dire que le problème vient d'ailleurs.:?
En dehors du message dans le navigateur "Impossible de trouver la page", as-tu un autre message d'erreur dans la console ou la log ?
Sinon, CNRPS-ViewController-context-root correspond-il bien au contexte de ton application ?
a l'etat initial mon url est le suivant:
et en cliquant sur la page suivante mon url devient le suivantCode:http://192.68.132.9:8990/CNRPS-ViewController-context-root/do/EtablirDecompte/getTranche
nb : aucun message d'erreur dans mon console. en plus CNRPS-ViewController-context-root correspond bien au contexte de mon application.Code:http://192.68.132.9:8990/CNRPS-ViewController-context-root/sort.do?layoutCollection=1&layoutCollectionProperty=&layoutCollectionState=0&pagerPage=1
Ben je suis désolée mais je suis à court d'idées.:oops:
Je ne vois vraiment pas ce qui cloche.:?
Sinon, est-ce que tout fonctionne bien sans les tag layout:pager ?
ajoute cette ligne ds ton struts-config.xml :
<action path="/sort" type="fr.improve.struts.taglib.layout.sort.SortAction">
</action>