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] pb avec le tag collection


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Points : 65
    Points
    65
    Par défaut [Struts-Layout] pb avec le tag collection
    bonjour tous le monde

    j'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     <layout:collection name="collectionForm" property="resultat" styleClass="FORM"  selectName="id" selectProperty="code" selectType="radio" >
         <layout:collectionItem title="CODE TRANSACTION" property="code" ></layout:collectionItem>
         <layout:collectionItem title="DESTINATAIRE" property="dest" sortable="true"></layout:collectionItem>
         <layout:collectionItem title="WAREHOUSE" property="whs" sortable="true"></layout:collectionItem>
         <layout:collectionItem title="DATE" property="date" sortable="true"></layout:collectionItem>
         <layout:collectionItem title="RESPONSABLE" property="resp" sortable="true"></layout:collectionItem>
         <layout:collectionItem title="BON TRANSACTION" property="bon">
           <layout:link action="/visualiser.do">Visualiser le bon</layout:link>
         </layout:collectionItem>
       </layout:collection>
    et voici le form:
    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
     
    public class CollectionForm extends ActionForm {
     
     
    	private List resultat;
    	private String[]  id;
     
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    	// TODO Auto-generated method stub
    return null;
    	}
     
    	public void reset(ActionMapping mapping, HttpServletRequest request) {
    		// TODO Auto-generated method stub
    	}
     
     
    	public List getResultat() {
    		return resultat;
    	}
     
    	public void setResultat(List resultat) {
    		this.resultat = resultat;
    	}
     
    	public String[]  getId() {
    		return id;
    	}
     
    	public void setId(String[]  id) {
    		this.id = id;
    	}
    et le bean des collectionItem

    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
     
    public class Article {
     
    	private String code;
    	private String dest;
    	private String whs;
    	private String date;
    	private String resp;
    	private String code_trans;
     
    	public Article(){}
     
    	public Article(String code,String date,String dest,String resp,String whs,String code_trans){
     
    	this.code=code;
    	this.date=date;
    	this.dest=dest;
    	this.resp=resp;
    	this.whs=whs;
    	this.code_trans = code_trans;
    	}
     
     
    public String getCode() {
    		return code;
    	}
     
    public void setCode(String code) {
    		this.code = code;
    	}
    public String getDest() {
    		return dest;
    	}
     
    public void setDest(String dest) {
    		this.dest = dest;
    	}
     
    public String getWhs() {
    		return whs;
    	}
     
    public void setWhs(String whs) {
    		this.whs = whs;
    	}
    public String getDate() {
    		return date;
    	}
     
    public void setDate(String date) {
    		this.date = date;
    	}
     
    public String getResp() {
    		return resp;
    	}
     
    public void setResp(String resp) {
    		this.resp = resp;
    	}
    j'ai une action collectionAction qui rempli la colection

    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
     
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) throws SQLException {
    		CollectionForm collectionForm = (CollectionForm) form;// TODO Auto-generated method stub
     
    		Connexion connexion=new Connexion();
    		Connection con=connexion.createConnection();
    		Statement st = null;
    		ResultSet rs = null;
    		ArrayList list = new ArrayList();
     
    		//Article art = new Article();
    		st = con.createStatement();
    		rs = st.executeQuery("select trans_type || '-'  ||gss_transaction.whs_id || '-'  ||trans_no as code,dest_nom,whs_adresse,to_char(trans_date, 'DD/MM/YYYY HH24:MI:SS'),act_name from gss_transaction, gss_warehouse, gss_actor, gss_destinataire where (gss_transaction.whs_id = gss_warehouse.whs_id) and (gss_transaction.act_id = gss_actor.act_id) and (gss_transaction.dest_id = gss_destinataire.dest_id) and (gss_transaction.dest_id ='D01') order by trans_no");
     
    	while (rs.next())
    {
    			System.out.println("["+rs.getString(1)+"],["+rs.getString(2)+"],["+rs.getString(3)+"],["+rs.getString(4)+"],["+rs.getString(5)+"]");
    			Article art = new Article(rs.getString(1),rs.getString(4),rs.getString(2),rs.getString(5),rs.getString(3),rs.getString(1));
     
       list.add(art);
     
    }
     
    }
     
    collectionForm.setResultat(list);
    return mapping.findForward("remplir"); 
    }
    quand j'ai ajouté "selectName="id" selectProperty="code" selectType="radio" elle marche pas elle m'affiche l'erreur suivante


    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
     
    org.apache.jasper.JasperException: Cannot find bean under name org.apache.struts.taglib.html.BEAN
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    javax.servlet.ServletException: Cannot find bean under name org.apache.struts.taglib.html.BEAN
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
    	org.apache.jsp.forms.collection2_jsp._jspService(collection2_jsp.java:109)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    javax.servlet.jsp.JspException: Cannot find bean under name org.apache.struts.taglib.html.BEAN
    	fr.improve.struts.taglib.layout.util.LayoutUtils.getBeanFromPageContext(LayoutUtils.java:203)
    	fr.improve.struts.taglib.layout.collection.CollectionTag.isCurrentBeanSelected(CollectionTag.java:556)
    	fr.improve.struts.taglib.layout.collection.CollectionTag.renderSelection(CollectionTag.java:517)
    	fr.improve.struts.taglib.layout.collection.CollectionTag.renderItem(CollectionTag.java:461)
    	fr.improve.struts.taglib.layout.collection.CollectionTag.addItem(CollectionTag.java:152)
    	fr.improve.struts.taglib.layout.collection.BaseCollectionTag.addItem(BaseCollectionTag.java:318)
    	fr.improve.struts.taglib.layout.collection.FastCollectionItemTag.doEndLayoutTag(FastCollectionItemTag.java:185)
    	fr.improve.struts.taglib.layout.LayoutTagSupport.doEndTag(LayoutTagSupport.java:47)
    	org.apache.jsp.forms.collection2_jsp._jspx_meth_layout_005fcollectionItem_005f0(collection2_jsp.java:488)
    	org.apache.jsp.forms.collection2_jsp._jspx_meth_layout_005fcollection_005f0(collection2_jsp.java:437)
    	org.apache.jsp.forms.collection2_jsp._jspx_meth_layout_005fhtml_005f0(collection2_jsp.java:170)
    	org.apache.jsp.forms.collection2_jsp._jspService(collection2_jsp.java:100)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    et quand je les enleve il marche normal, il m'affiche bien la collection

    (je travaille avec struts layout 1.2 et struts1.2)
    j'ai essayer de suivre le site de struts layout mais j'ai pas compris c'est quoi le pb
    merci de me repondre

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Points : 246
    Points
    246
    Par défaut
    ton form bean n'est pas trouvé pour l'élément id mais c'est bizzard puisque ta collection d'object est trouvée, essaye d'outrepasser en utilisant la jstl et en précisant ton formbean, sinon je vois pas désolé.

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il faut mettre le tag layout:collection dans un tag layout:form ou html:form.

Discussions similaires

  1. [Struts-Layout] problème avec dynMenu
    Par vny dans le forum Struts 1
    Réponses: 3
    Dernier message: 26/11/2008, 14h01
  2. [Struts-Layout] probleme avec la collection
    Par verdi-verda dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/09/2008, 19h58
  3. [Struts-Layout] problème avec layout:collection
    Par khayri dans le forum Struts 1
    Réponses: 4
    Dernier message: 31/05/2007, 13h28
  4. [Struts-Layout] Tableau avec deux couleurs alternées
    Par yolepro dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/09/2006, 16h47
  5. [Struts-layout]err. avec layout:menuItem
    Par javazer dans le forum Struts 1
    Réponses: 7
    Dernier message: 14/04/2006, 14h08

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