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 :

probleme avec un simple select


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 219
    Par défaut probleme avec un simple select
    j avoue que je comprends vraiment rien un simple s:select me donne
    GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
    tag 'select', field 'list', name 'profession': The requested list key 'listeProfessions' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
    at org.apache.struts2.components.Component.fieldError(Component.java:230)
    at org.apache.struts2.components.Component.findValue(Component.java:351)
    at org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
    at org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
    at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
    at org.apache.struts2.components.UIBean.end(UIBean.java:510)
    at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspx_meth_s_005fselect_005f0(AjouterClient_jsp.java:232)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspx_meth_s_005fform_005f0(AjouterClient_jsp.java:130)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspService(AjouterClient_jsp.java:82)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
    2010-03-22 18:31:50 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
    tag 'select', field 'list', name 'profession': The requested list key 'listeProfessions' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
    at org.apache.struts2.components.Component.fieldError(Component.java:230)
    at org.apache.struts2.components.Component.findValue(Component.java:351)
    at org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80)
    at org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105)
    at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:856)
    at org.apache.struts2.components.UIBean.end(UIBean.java:510)
    at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspx_meth_s_005fselect_005f0(AjouterClient_jsp.java:232)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspx_meth_s_005fform_005f0(AjouterClient_jsp.java:130)
    at org.apache.jsp.jsp.AjouterClient_jsp._jspService(AjouterClient_jsp.java:82)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
    et j ai pourtant le bon code
    j ai deux classe classe Client
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    package exemple02;
     
    import java.util.ArrayList;
    import java.util.List;
    import com.opensymphony.xwork2.ActionSupport;
     
     
    @SuppressWarnings("serial")
    public class Client extends ActionSupport {
     
        private String identifiant;
        private String motdepasse;
        private Integer profession;
        private Integer[] repas;
        private List<Profession> listeProfessions=new ArrayList<Profession>();
        private List<Repas> listeRepas=new ArrayList<Repas>();
     
        public Client()
        {
     
        }
     
        // retourner une liste de professions
        public List<Profession> getListeProfessions() {
    		listeProfessions.add(new Profession(1, "Informaticien"));
    		listeProfessions.add(new Profession(2, "Formateur"));
    		listeProfessions.add(new Profession(3, "SGBDM"));
    		listeProfessions.add(new Profession(4, "Responsable reseau"));
    		return listeProfessions;
    	}
     
    	public void setListeProfessions(List<Profession> listeProfessions) {
    		this.listeProfessions = listeProfessions;
    	}
     
    	public int getProfession() {
    		return profession;
    	}
     
    	public void setProfession(Integer profession) {
    		this.profession = profession;
    	}
     
    	public List<Repas> getListeRepas() {
    		listeRepas.add(new Repas(1, "Repas du midi"));
    		listeRepas.add(new Repas(2, "Repas du soir"));
    		return listeRepas;
    	}
     
    	public void setListeRepas(List<Repas> listeRepas) {
    		this.listeRepas = listeRepas;
    	}
     
    	public Integer[] getRepas() {
    		return repas;
    	}
     
    	public void setRepas(Integer repas[]) {
    		this.repas = repas;
    	}
     
    	public String getIdentifiant() {
    		return identifiant;
    	}
     
    	public void setIdentifiant(String identifiant) {
    		this.identifiant = identifiant;
    	}
     
    	public String getMotdepasse() {
    		return motdepasse;
    	}
     
    	public void setMotdepasse(String motdepasse) {
    		this.motdepasse = motdepasse;
    	}
     
    	// ajouter les informations du client dans la session
    	public String ajouter()
    	{	
    		// vérifier les saisies, en cas d'erreur retourner sur la page de saisie
    		if(this.identifiant.equals("") || this.motdepasse.equals(""))
    		{
    			return "input";
    		}
    		// pas d'erreur
    		else
    		{
    			return "afficher";
    		}
    	}
    }
    et classe professeur
    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
     
    package exemple02;
    //Classe de gestion des professions
    class Profession 
    {
        private Integer idProfession;
        private String nom;
        public Profession(Integer idProfession, String nom) 
        {
            this.idProfession=idProfession;
            this.nom=nom;
        }
     
    	public Integer getIdProfession() {
    		return idProfession;
    	}
     
    	public void setIdProfession(Integer idProfession) {
    		this.idProfession=idProfession;
    	}
     
    	public String getNom() {
    		return nom;
    	}
    	public void setNom(String nom) {
    		this.nom=nom;
    	}
     
    }
    dans mon jsp
    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
     
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
    <head>
    <title>Ajouter un client</title>
    <style type="text/css">@import url(css/styles.css);</style>
    </head>
    <body>
    <div id="enveloppe">
    	<h3>Ajouter un client</h3>
    	<s:form method="post" action="ValiderAjouter_Client">
    		<s:textfield name="identifiant" id="identifiant" label="Identifiant" labelposition="top" cssClass="input"/>
    		<s:textfield name="motdepasse" label="Mot de passe" labelposition="top" cssClass="input"/>
    		<s:select name="profession" label="Profession" labelposition="top" list="listeProfessions" listKey="idProfession" listValue="nom"/>
    		<s:checkboxlist name="repas" label="Repas" list="listeRepas" listKey="id" listValue="nom" labelposition="top"/>
    		<s:submit value="Ajouter le client"/>
    	</s:form>
    </div>
    </body>
    </html>
    et strut.config
    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
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="false" />
     
        <package name="exemple05" namespace="/" extends="struts-default">
            <default-action-ref name="Ajouter_Client" />
     
            <action name="Ajouter_Client" class="exemple02.Client">
                <result>/jsp/AjouterClient.jsp</result>
            </action>
     
            <action name="ValiderAjouter_Client" class="exemple02.Client" method="ajouter">
                <result name="input">/jsp/AjouterClient.jsp</result>
                <result type="chain" name="succes">Afficher_Client</result>
            </action>
     
        </package>
    </struts>
    tout le semble correct , je comprends pas la reaction de tomcat.

    Est ce qu il y a quelqu un qui peut me dire le problem merci d avance

  2. #2
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 219
    Par défaut
    c est bon merci de m avoir mit
    sur la bonne piste

    Superpinguin.

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

Discussions similaires

  1. probleme avec une simple requete
    Par nassimmm dans le forum Langage SQL
    Réponses: 11
    Dernier message: 03/08/2006, 17h46
  2. [JTextArea]Probleme avec la methode select
    Par caneman dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 30/07/2006, 14h50
  3. probleme avec une requete select(MIN)
    Par logone dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/06/2006, 22h51
  4. Ksh, problème avec une simple boucle for
    Par herzleid dans le forum Linux
    Réponses: 4
    Dernier message: 22/03/2006, 14h45

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