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

Taglibs Java Discussion :

[TagLib] CustomTag, JSP tag...


Sujet :

Taglibs Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut [TagLib] CustomTag, JSP tag...
    Salut,

    Voilà le code de ma JSP qui foire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <dm:smartList name="searchBean.dg" height="1" form="SearchForm" tabIndex="1" style="comboBox9pt">
      <jsp:attribute name="selectedItem">
        <bean:write property="searchBean.dg" name="homeActionForm" scope="session" /> 
      </jsp:attribute>
      <jsp:attribute name="items">
        <bean:write property="allDgsDisplay" name="homeActionForm" scope="session" />
      </jsp:attribute>
    </dm:smartList>
    L'erreur intervient lorsqu'il tente de faire setItems avec la propriété allDgsDisplay.

    Mon customTag dm:smartList défini:
    ArrayList items

    Et mon bean homeActionForm défini
    ArrayList allDgsDisplay

    Lorsque je debug ma jsp je break sur la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _jspx_th_dm_smartList_0.setItems((java.util.ArrayList)org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(java.util.ArrayList.class, "items", _jspx_temp1));
    Le trace error est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    StandardWrapperValve[action]: "Servlet.service()" pour la servlet action a généré une exception
    org.apache.jasper.JasperException: jsp.error.beans.property.conversion
    	at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:885)
    	at org.apache.jsp.homePage_jsp._jspx_meth_dm_smartList_0(homePage_jsp.java:425)
    	at org.apache.jsp.homePage_jsp._jspService(homePage_jsp.java:158)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    ...
    Le debug me dit que les paramètres passé à .getValueFromPropertyEditor sont tous bon!
    La classe => ArrayList
    La propriété => "items"
    La valeur => un ensemble de données [ xxx, ddd, rrrr.....] en String
    Cette méthode est censé renvoyer un Object du type spécifié, ici ArrayList...

    Si vous avez une idée [/b]
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    J'ai réussi à contourner l'erreur mais cela m'oblige à mettre du java dans ma JSP, ce que je n'ai pas le droit, à la base

    <%HomeActionForm haf = (HomeActionForm)session.getAttribute("homeActionForm");%>
    ...
    ...
    <dm:smartList items="<%=haf.getAllDgsDisplay()%>" name="searchBean.dg" height="1" form="SearchForm" tabIndex="1" style="comboBox9pt">
    <jsp:attribute name="selectedItem">
    <bean:write property="searchBean.dg" name="homeActionForm" scope="session" />
    </jsp:attribute>
    </dm:smartList>
    Il doit bien y avoir moyen d'utiliser bean:write et jsp:attribute non?
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

  3. #3
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    il te suffisait de passer par bean:define.


    en remplcamemet de tous ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <jsp:attribute name="items"> 
        <bean:write property="allDgsDisplay" name="homeActionForm" scope="session" /> 
      </jsp:attribute>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Tu peux me montrer la solution avec bean:define?

    Je ne l'ai jamais utilisé vu que j'ai pas trop capté comment çà fonctionne

    EDIT

    En fait j'essai mais j'arrive pas à comprendre le mécanisme derrière et du coup je n'arrive pas l'implémenter pour définir des paramètre de mon custom tag.
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    J'ai essayé çà mais cela ne semble pas être la bonne faction de fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <dm:smartList name="searchBean.dg" height="1" form="SearchForm" tabIndex="1" style="comboBox9pt">
      <bean:define id="items" property="allDgsDisplay" name="homeActionForm" scope="session" />
      <bean:define id="selectedItem" property="searchBean.dg" name="homeActionForm" scope="session" />
    </dm:smartList>
    L'erreur indique que dm:smartList à besoin de la propriété items :
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

  6. #6
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    rajoute toScope="session" pour qu'il soit dispo dans le scope session et que tu puisse t'en servir.

    @+

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Je suis désolé mais je suis perdu là

    Je dois rajouter toScope dans define en plus du scope?
    Le reste de la syntaxe est bonne sinon?

    :
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Ok j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean:define id="items" property="allDgsDisplay" name="homeActionForm" scope="session" type="java.util.ArrayList" />
    <bean:define id="selectedItem" property="searchBean.dg" name="homeActionForm" scope="session" type="java.lang.String" />                      
    <dm:smartList items="<%=items%>" selectedItem="<%=selectedItem%>" name="searchBean.dg" height="1" form="SearchForm" tabIndex="1" style="comboBox9pt" />
    merci RandomX!!
    Rechercher, se documenter, être curieux, être passionné...
    Les atouts des vrais développeurs!

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

Discussions similaires

  1. [WTP] Autocomplétion taglibs et JSP prelude
    Par adiGuba dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 08/06/2007, 15h00
  2. taglib: inclure un tag dans un autre tag
    Par guitouu dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/10/2006, 13h43
  3. [JSP][Tags] Deploiement des Tags et librairies
    Par 2000 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/08/2006, 15h06
  4. [JSP] Tag jsp:usebean
    Par GLDavid dans le forum Taglibs
    Réponses: 3
    Dernier message: 05/07/2006, 16h34
  5. [Taglib] Librairie de tags EL
    Par mymyma dans le forum Struts 1
    Réponses: 5
    Dernier message: 13/06/2006, 16h35

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