IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[Struts-Layout] [layout:pager] problème au changement de page


Sujet :

Struts 1 Java

  1. #1
    Membre actif Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 201
    Points : 232
    Points
    232
    Par défaut [Struts-Layout] [layout:pager] problème au changement de page


    j'ai un soucis avec le pager

    J'ai mis en place une datagrid avec un pager dont voici le code dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <layout:pager maxPageItems="5">
    		<layout:datagrid property="drTravauxNatureDg" styleClass="DATAGRID" model="datagrid"
    			selectionAllowed="false" multipleSelectionAllowed="false">
    			<layout:datagridCheckbox title="dr.travaux.nature.cbx" property="selectTravauxNature" width="100"/>
    			<layout:datagridColumn title="dr.travaux.nature.nom" property="nomTravauxNature" width="500"/>
    		</layout:datagrid>
    	</layout:pager>
    Lorsque je charge ma page la première fois, pas de pb, mon datagrid s'affiche avec le pager.
    Lorsque je clique sur le lien pour changer de page, j'obtiens l'erreur suivante :
    15:38:06,612 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Cannot find bean under name drListeDestinataire
    at fr.improve.struts.taglib.layout.util.LayoutUtils.getBeanFromPageContext(LayoutUtils.java:203)
    at fr.improve.struts.taglib.layout.collection.BaseCollectionTag.doStartLayoutTag(BaseCollectionTag.java:926)
    at fr.improve.struts.taglib.layout.BodyLayoutTagSupport.doStartTag(BodyLayoutTagSupport.java:36)
    at org.apache.jsp.vues.dr_jsp._jspx_meth_layout_collection_0(dr_jsp.java:689)
    at org.apache.jsp.vues.dr_jsp._jspx_meth_layout_row_0(dr_jsp.java:652)
    at org.apache.jsp.vues.dr_jsp._jspx_meth_layout_panel_1(dr_jsp.java:483)
    at org.apache.jsp.vues.dr_jsp._jspx_meth_layout_tab_0(dr_jsp.java:360)
    at org.apache.jsp.vues.dr_jsp._jspx_meth_layout_tabs_0(dr_jsp.java:304)
    at org.apache.jsp.vues.dr_jsp._jspService(dr_jsp.java:183)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)


    etc ..........
    Et je ne comprend pas l'erreur qui est en rapport avec "drListeDestinataire"

    drListeDestinataire est le nom du collection socker dans une variable de session (et pas request) appelé dans le code jsp suivant :

    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
     
    <layout:collection title="" 
    		                   name="drListeDestinataire" 
    		                   styleClass="FORM"
    		                   id="drListeDestinataire"
    		                   sortAction="client"
    		                   width="325">
    		  <layout:collectionItem title="dr.destinataire.selection">
    		  	<center>
    		  	<layout:link href="dr.do?reqCode=modifierContact" paramId="id" paramName="drListeDestinataire" 
    		  			paramProperty="id" >
    		  		<layout:img srcName="edit.gif" border="0"/>
    		  	</layout:link>
    		  	</center>
    		  </layout:collectionItem>
    		  <layout:collectionItem title="dr.destinataire.nom" property="nom" sortable="true"/>
    		  <layout:collectionItem title="dr.destinataire.enlever"><center>
    		  	<layout:link href="dr.do?reqCode=enleverEntreprise" paramId="id" paramName="drListeDestinataire" paramProperty="id">
    		  		<bean:message key="dr.destinataire.btn.enlever" />
    		  	</layout:link></center>
    		  </layout:collectionItem>
    		</layout:collection>
    Tout se code se trouve dans la même page encadré par le même formulaire.

    alors si qq a une idée sur pourkoi, car là je sêche.

    J'ai déjà fait un clean et une recompile complète de mon appli web, j'ai rrêter mon serveur JBoss et vider tous les fichiers temporaires, mais rien n'y change.
    Il y a de jeunes pilotes audacieux, il y a de vieux pilotes, mais il n'y a pas de vieux pilotes audacieux


  2. #2
    Membre actif Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 201
    Points : 232
    Points
    232
    Par défaut
    help ?

    quelqu'un pour m'aider svp
    Il y a de jeunes pilotes audacieux, il y a de vieux pilotes, mais il n'y a pas de vieux pilotes audacieux


  3. #3
    Membre actif Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 201
    Points : 232
    Points
    232
    Par défaut
    Bon, vu que personne m'a répondu, j'ai du fouiller un moment, secouer ma caisse à neurone pour trouver la solution

    Et je l'ai trouvé

    La solution que j'ai trouvé est la suivante :

    dans le code suivant :
    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
     
    <layout:collection title="" 
    		                   name="drListeDestinataire" 
    		                   styleClass="FORM"
    		                   id="drListeDestinataire"
    		                   sortAction="client"
    		                   width="325">
    		  <layout:collectionItem title="dr.destinataire.selection">
    		  	<center>
    		  	<layout:link href="dr.do?reqCode=modifierContact" paramId="id" paramName="drListeDestinataire" 
    		  			paramProperty="id" >
    		  		<layout:img srcName="edit.gif" border="0"/>
    		  	</layout:link>
    		  	</center>
    		  </layout:collectionItem>
    		  <layout:collectionItem title="dr.destinataire.nom" property="nom" sortable="true"/>
    		  <layout:collectionItem title="dr.destinataire.enlever"><center>
    		  	<layout:link href="dr.do?reqCode=enleverEntreprise" paramId="id" paramName="drListeDestinataire" paramProperty="id">
    		  		<bean:message key="dr.destinataire.btn.enlever" />
    		  	</layout:link></center>
    		  </layout:collectionItem>
    		</layout:collection>
    il faut modifier la déclaration de la collection :
    <layout:collection title=""
    name="drListeDestinataire"
    styleClass="FORM"
    id="drListeDestinataire"
    sortAction="client"
    width="325">

    comme suit :
    <layout:collection title=""
    name="drListeDestinataire"
    styleClass="FORM"
    id="idDrListeDestinataire"
    sortAction="client"
    width="325">

    Comme cela, l'interpréteur struts peut retrouver ces petits.
    Il ne faut pas aussi oublié de mettre à jour la valeur de la clé paramName avec la valeur de la clé id

    J'ai aussi déclaré le nom de la collection "drListeDestinataire" dans une variable de Session avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().setAttribute("drListeDestinataire", list);
    et non dans la request avec cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.setAttribute("drListeDestinataire", list);
    Et mon bean est déclaré avec un scope "session" dans fichier struts-config.xml .

    Et au niveau de la déclaration du pager dans le fichier struts-config.xml, j'ai mis le scope à "session" à la place de "request"


    Donc, j'espère que j'ai trouvé comme solution pourra aider ceux qui rencontre le même
    Il y a de jeunes pilotes audacieux, il y a de vieux pilotes, mais il n'y a pas de vieux pilotes audacieux


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Zend_Paginator Problème de changement de page
    Par flilou dans le forum Zend Framework
    Réponses: 3
    Dernier message: 16/06/2011, 12h07
  2. Réponses: 0
    Dernier message: 09/03/2009, 16h33
  3. [Struts-Layout][layout:date] problème d'affichage
    Par nysaken dans le forum Struts 1
    Réponses: 8
    Dernier message: 22/11/2007, 20h30
  4. Réponses: 6
    Dernier message: 22/06/2007, 15h51
  5. [struts layout] layout:pager
    Par kamaldev dans le forum Struts 1
    Réponses: 9
    Dernier message: 30/07/2006, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo