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 :

la tag logic iterate avec une liste Map


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut la tag logic iterate avec une liste Map
    Bonjour tt le monde
    Est ce qu'on peut iterer une liste Map avec la tag <logic:iterate /> tout en affichant la clé et sa valeur?
    Si wi, est ce que vous pouvez me donnez un exemple ?

    et Merci d'avance.

  2. #2
    Expert confirmé

    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
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table>
       <logic:iterate name="nomDuFormBean" property="uneMap" id="item">
          <tr>
    	<td><bean:write name="item" property="key"/></td>
    	<td><bean:write name="item" property="value"/></td>
          </tr>
       </logic:iterate>
    </table>

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    Voila ce que j'ai fait :
    ma bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package myPack;
    import java.util.Map;
     
    public class MyBean {
    	private Map myMap;
     
    	public void setMyMap(Map m){
    		myMap=m;
    	}
    	public Map getMyMap(){
    		return myMap;
    	}
    }
    et Ma jsp est :
    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
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ page import="java.util.Map" %>
    <%@ page import="java.util.HashMap" %>
    <%@ page import="myPack.MyBean" %>
     
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
      <head>
        <html:base />
     
        <title>MyJsp.jsp</title>
     
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
      </head>
     
      <body>
        <%
        	MyBean bean=new MyBean();
        	Map myMap=new HashMap(); 
        	myMap.put(new Integer(1),"One");
        	myMap.put(new Integer(2),"Two");
        	myMap.put(new Integer(3),"Three");
        	bean.setMyMap(myMap);
        %>
        <table>
        <logic:iterate name="MyBean" property="myMap" id="liste">
          <tr>
        	<td>
              <bean:write name="liste" property="key"/>:<bean:write name="liste" property="value"/> 
            </td>
           </tr>
    </logic:iterate>
    </table>
      </body>
    </html:html>
    mais une erreur se produit :
    javax.servlet.ServletException: Cannot find bean MyBean in any scope
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:168)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  4. #4
    Expert confirmé

    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       	MyBean bean=new MyBean();
    ton instance de MyBean s'appelle bean et non MyBean donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <logic:iterate name="bean" property="myMap" id="liste">

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    j'ai modifie mon code, mais la meme erreur sort :
    javax.servlet.ServletException: Cannot find bean bean in any scope
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:172)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  6. #6
    Expert confirmé

    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
    Par défaut
    faut mettre le bean dans le scope page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pageContext.setAttribute("bean",bean) ;

Discussions similaires

  1. [MAPPING] map avec une liste pour valeur
    Par djodjo dans le forum Hibernate
    Réponses: 0
    Dernier message: 11/03/2010, 19h39
  2. <logic:iterate> d'une Hashmap contenant une liste
    Par kenshiroseifu dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/04/2009, 19h09
  3. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 12h30
  4. [struts][iterate] problème logic:iterate avec un Vector
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 9
    Dernier message: 31/03/2004, 19h05
  5. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 15h42

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