[Struts-Layout] layout:collection & pagination
Salut,
J'ai un soucis par rapport a la récupération des données saisis dans un layout:collection, ce problème se pose qu'on j'utilise la pagination la données disparaissent ;
Voila l'entête du code pour le layout:collection :
Code:
1 2 3
|
<layout:pager maxPageItems="15">
<layout:collection name="MaForm" indexId="index" id="ligne" property="maCollection" width="100%"> |
et j'utilise la technique suivante pour rendre le layout:collection dynamique :
Code:
1 2
|
<layout:text property="maCollection[${index}].champs1" readonly="true" layout="false" size="8" style="color:blue; text-decoration:underline; font-weight:bold; cursor:hand;"/> |
Je ne vois pas pourquoi je perd mes données quand j'utilise la pagination;
Merci d'avance
layout:Collection & pagination
Toujours pareil, c'est pas le readonly="true" qui cause ce problème ;
Si vous avez d'autres solutions
Merci d'avance
layout:collection + pagination + IndexOutOfBoundsException
Slt,
J'ai intégré le code cité auparavant après l'ouverture du tag <layout:collection>
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
|
<layout:pager maxPageItems="15" sessionPagerId="pagerPage">
<layout:collection name="MaForm" offsetIndexId="index" id="ligne" property="maliste" width="100%">
<c:choose>
<c:when test="${param['pagerPage']==null}">
<c:set var="pagerPage" value="0"/>
</c:when>
<c:otherwise>
<c:set var="pagerPage" value="${param['pagerPage']}"/>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${pagerPage==0}">
<c:set var="newIndex" value="${index}"/>
</c:when>
<c:otherwise>
<c:set var="newIndex" value="${index+(10*pagerPage)}"/>
</c:otherwise>
</c:choose>
...
</layout:collection> |
après que je clique sur le lien de pagination il me donne :
Citation:
org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: "Servlet.service()" pour la servlet jsp a lancé une exception
Throwable occurred: java.lang.IndexOutOfBoundsException
at java.util.ArrayList.get(Unknown Source)
Si quelqu'un a une idée par rapport a ca
Merci d'avance
layout:collection + pagination + IndexOutOfBoundsException
Salut,
Oui vous avez raison, j'ai oublié de faire la modif :) ,
je l'ai fais mais en vain, j'ai tjrs le problème lorsque je fais la pagination, le layout:collection ne garde pas les données ;
Voila les premières lignes de mon code :
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
|
<layout:pager maxPageItems="10" sessionPagerId="pagerPage">
<layout:collection name="FactCltForm" indexId="index" id="lignecmdclt" property="listLignesCmdClt" width="100%">
<c:choose>
<c:when test="${param['pagerPage']==null}">
<c:set var="pagerPage" value="0"/>
</c:when>
<c:otherwise>
<c:set var="pagerPage" value="${param['pagerPage']}"/>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${pagerPage==0}">
<c:set var="newIndex" value="${index}"/>
</c:when>
<c:otherwise>
<c:set var="newIndex" value="${index+(10*pagerPage)}"/>
</c:otherwise>
</c:choose>
<layout:collectionItem title="Article">
<layout:link href="javascript:goToInterroStock('${lignecmdclt.artId}','${lignecmdclt.artcode}', '${lignecmdclt.ligneCltId}', '${lignecmdclt.typeligneClt}');">
<layout:text property="listLignesCmdClt[${newIndex}].artcode" readonly="true" layout="false" size="8" style="color:blue; text-decoration:underline; font-weight:bold; cursor:hand;"/>
</layout:link>
</layout:collectionItem>
<layout:collectionItem property="artdesign" title="DESIGNATION"/> |
Merci d'avance pour votre aide
layout:collection + pagination + IndexOutOfBoundsException
oui quand je saisi des données dans des zonnes de type :
Code:
1 2 3
|
<layout:text property="listLignesCmdClt[${newIndex}].qtesaisie" size="4" readonly="true" layout="false"/> |
après, quand je click sur le lien de pagination du layout:collection et que je revienne a la meme page je trouve plus la qte que j'ai saisie dans cette zonne de texte ;
Merci
layout:collection + pagination
oui je pense que c'est ce que je vais faire,
Merci bcp pour votre aide :)