Bonjour à tous,

J'ai un problème avec layout:pager et layout:collection, pour les changements de page et le sort.

En fait lorsque mon pager est simplement sur une page jsp entière (donc pas au sein d'une composition de plusieurs include de jsp) la pagination et le tri fonctionne correctement.

Par contre lorsque mon pager et ma collection sont affichés dans une "pseudo-popup bloquante" ça ne fonctionne pas.
voici ce que j'entends par "pseudo-popup bloquante" :
dans ma page principale actuellement affichée dans le navigateur j'ai un include d'une jsp contenant un div non visible, pour laquelle un showpopup jquery affiche ce div devant un autre div de calque opaque qui prend toute la page (pour l'aspect bloquant de la popup) et qui execute une action ajax pour récupérer les informations a afficher dans cette popup et donc dans un layout:pager / layout:collection présent dans cette popup.

lorsque je click sur une des fleches de tri de ma collection ou que je change la page de mon pager toute la page se rafraichi et la page de forward de l'action sortAction de struts indique uniquement la jsp de ma popup qui donc du coup se retrouve affiché en plein écran avec perte du css etc...

Par contre le tri est bien fait correctement ainsi que les changements de page.

Je me suis donc renseigné tout d'abord et j'ai trouvé qu'apparement il etait possible de faire le tri coté client (ce qui éviterai donc ce rechargement qui fait que je perd tout le reste du contexte de ma page), en ajoutant le "sortAction="client" " dans le layout:collection et en ajoutant la balise struts pour le includeScript=true.
resultat : cela appel toujours le sort.do et recharge ma page, aucune différence du comportement a l'exception du fait qu'avec le include script il me remplace le css utilisé par celui de struts.
D'ailleurs du coup j'ai regardé le contenu qui était ajouté par le include script dans ma page générée et donc du coup j'ai retiré le include script pour indiquer moi meme dans ma page le code qui était rajouté par le include script et juste en retirant l'instruction d'include du default css de struts, a savoir :

<script type="text/javascript">
var imgsrc="/ressources/struts-layout/images/";
var scriptsrc="/ressources/struts-layout/config/";
var langue="fr";
var contextPath="/ogc";
</script>
<script type="text/javascript" src="/ressources/struts-layout/config/javascript.js"></script>

Du coup ça n'a rien changé et ça ne fonctionne toujours pas mais au moins mon css n'est plus remplacé par celui de struts.

En terme de configuration du struts-config.xml :

je n'ai pas personnalisé l'action sort :
<action path="/sort" type="fr.improve.struts.taglib.layout.sort.SortAction" scope="request" validate="false">
</action>

et j'ai bien le controller par défaut placé apres les action-mappings et avant le message-resources :
<controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor" contentType="text/html;charset=UTF-8"/>

J'ai testé pleins de choses différentes mais le comportement est toujours le même et je ne sais plus quoi faire pour réussir a avoir un tri et une pagination qui fonctionne au sein de cette pseudo-popup.

Un grand merci d'avance si l'un de vous a une solution ou des hypothèses à tester concernant mon probleme.

Bambino