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]

  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?

  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.

  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 :

  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?

    :

  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!!

+ 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