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 2 Java Discussion :

Problème avec la balise <s:iterator>


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut Problème avec la balise <s:iterator>
    Bonsoir les amis vous allez bien ?

    je suis débutante dans struts2 (j'ai commencé à m'y interessé depuis une semaine ) mais là je suis bloquée

    Voilà je vous explique mon problème, j'ai une action qui comporte plusieurs methode dont la méthode "getFilieres()" :

    cette methode recupere une collection de filieres extraite de ma base de données :

    le probleme c'est que dans ma page jsp les valeur des filieres ne s'affiche pas et m'indique que la liste est vide , alors que j'ai bien testé au niveau de mon action que la liste est bien remplie
    voilà mes pages :

    FiliereAction :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    package resplan.groupes.presentation.actions;
     
    import java.util.Collection;
    import java.util.Iterator;
     
    import javax.servlet.http.HttpServlet;
     
    import com.opensymphony.xwork2.Action;
     
    import resplan.commun.model.groupes.Filiere;
    import resplan.commun.pl.BaseAction;
    import resplan.groupes.service.FiliereService;
    import resplan.groupes.service.IFiliereService;
     
    public class FiliereAction extends BaseAction {
     
    	private String idFiliere;
    	private String code;
    	private String intitule;
    	private Collection filieres;
     
     
    	public String getIdFiliere() {
    		return idFiliere;
    	}
     
    	public void setIdFiliere(String idFiliere) {
    		this.idFiliere = idFiliere;
    	}
     
    	public String getCode() {
    		return code;
    	}
     
    	public void setCode(String code) {
    		this.code = code;
    	}
     
    	public String getIntitule() {
    		return intitule;
    	}
     
    	public void setIntitule(String intitule) {
    		this.intitule = intitule;
    	}
     
     
     
    	// Méthode d'ajout de filiere
     
    	public void setFilieres(Collection filieres) {
    		this.filieres = filieres;
    	}
     
     
    	public String getFilieres() {
    		Collection<Filiere> filieres = null;
    		try {
    			IFiliereService service = new FiliereService();
    			filieres = service.getFilieres();
    			System.out.println("!!!!!!!!!");
     
    			for(Iterator iter = filieres.iterator();iter.hasNext();){
    				Filiere f = (Filiere)iter.next();
    			System.out.println(f.getCode());
    			}
     
    			setFilieres(filieres);
     
    		} catch (Exception ex) {
    			ex.printStackTrace();
    			return Action.ERROR;
    		}
    		return Action.SUCCESS;
     
    	}
     
     
    }
    listeFilieres.jsp :
    <%@page import="resplan.commun.model.groupes.Filiere"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.Collection"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>

    <table width="70%" border="1">
    <tr>
    <td>code</td>
    <td>intitule</td>
    </tr>

    <s:if test="%{filieres.size()>0}">
    <s:iterator value="filieres">


    <tr>
    <td> <s:property value="code" /></td>
    <td><s:property value="intitule" /></td>
    </tr>

    </s:iterator>
    </s:if>
    <s:else>
    Aucune filière dans la liste
    </s:else>
    </table>
    </body>

    </body>
    </html>
    je crois que c'est tout

    merci d'avanc pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonjour,

    J’espère pouvoir t'aider avec ceci, est-ce pour primordial que tu utilise cette définitions de ta liste objet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Collection filieres;
    j'aurais fais plus comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private List<Filiere> filieres;
    Ensuite ma JSP ne contiendrait que ça:

    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
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
     
    <table width="70%" border="1">
    <tr>
    <td>code</td>
    <td>intitule</td>
    </tr>
     
    <s:if test="%{filieres.size()>0}">
    <s:iterator value="filieres">
     
     
    <tr>
    <td> <s:property value="code" /></td>
    <td><s:property value="intitule" /></td>
    </tr>
     
    </s:iterator>
    </s:if>
    <s:else>
    Aucune filière dans la liste
    </s:else>
    </table>
     
     
    </body>
    </body>
    </html>
    voilà....

    Puis je te laisse mon struts action juste pour que tu puisse voir ce que j'ai utilisé,

    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
    package exemple05;
     
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
     
    import resplan.commun.model.groupes.Filiere;
     
    import com.opensymphony.xwork2.ActionSupport;
     
     
    @SuppressWarnings("serial")
    public class Client extends ActionSupport {
     
        private List<Filiere> filieres;
        private Filiere theFiliere = null;
     
     
    	public Collection<Filiere> getFilieres() {
    		return filieres;
    	}
     
    //	public void setFilieres(Collection<Filiere> filieres) {
    //		this.filieres = filieres;
    //	}
     
    	public Client()
        {
     
        }
     
    	public String execute() {
     
    		System.out.println("Dans la méthode execute");
     
    				filieres = new ArrayList<Filiere>();
     
    				for(int i=0; i < 10; i++){
    					theFiliere = new Filiere();
    					theFiliere.setCode(i);
    					theFiliere.setIntitule("Intitule_" + i);
     
    					filieres.add(theFiliere);
    				}
     
    		return "display";
    	}
    }
    j’espère que se marche aussi pour toi....
    Images attachées Images attachées  

Discussions similaires

  1. [XHTML] Problème avec des balise de type block
    Par kei-kun41 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/06/2006, 13h55
  2. problème avec la balise marquee
    Par lipao17 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/01/2006, 14h40
  3. [W3C] Problème avec la balise div et le style "display:none&a
    Par Golork dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 14/11/2005, 20h30
  4. [HTML] Problème avec la balise <mailto>
    Par Taylor² dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 10/10/2005, 16h36
  5. problème avec une balise <A>
    Par leywos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/09/2005, 09h24

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