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 :

Attribut n'interprete pas l'EL [Custom Tags 2.0]


Sujet :

Taglibs Java

  1. #1
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut Attribut n'interprete pas l'EL
    Bonjour,

    J'utilise Custom Tags 2.0 et JSTL 1.1

    Je suis en train de faire mon premier Taglib. Je pensais avoir réussi, jusqu'au moment ou j'ai voulu utiliser un binding vers une bdd... Celui ci n'interprète pas le binding.
    En gros, quand je récupère la valeur de l'attribut, au lieu de transformer mon bind en ma valeur correspondante a un champs d'une bdd, j'ai comme valeur mon bind littéralement.
    Je m'explique

    Voici l'appel de mon taglib avec en entrée un attribut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <aze:htmlCreatorTag ServerBaseUrl="#{TestUntitled.url}"/>
    Avant toutes choses, j'ai tout de même vérifié si mon binding fonctionnait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <af:outputFormatted value="#{TestUntitled.url}"/>
    Je confirme que c'est bien la bonne valeur et qu'il n'y a pas de souci lors de l'affichage.

    Hors, mon custom tag, lui, ne me donne pas la bonne valeur... Il me retourne cash "#{TestUntitled.url}" La transformation ne se fait pas

    Un truc m'échappe... Si un de vous aurait quelques minutes à me consacrer. Je lui en serai très reconnaissant.

    Merci d'avance

    raoon

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ca fait un petit moment que je n'ai pas touché à ça, alors de mémoire, je crois que dans ton custom tag tu dois appeler une fonction pour interpréter la valeur transmise.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Bonjour dinobogan.

    Dans un premier temps désolé pour mon post, je ne voulais en aucun remonter ma discussion (de toute façon elle était déjà en haut) bref encore désolé.


    Dans un deuxième temps, merci d'avoir pris le temps de répondre.

    En effet j'ai l'impression qu'il y a un processus a mettre en place donc une fonction.

    Pour ceux qui auront ce problème.

    http://www.exadel.com/tutorial/jsf/c...nts/step4.html

    le hic dans mon cas c'est que mon custom tag est silencieux, je n'ai pas de retour en JSP et donc du coup je me retrouve pas dans le meme cas.

    Dans l'exemple donné, via extends UIComponentTag, ils ont acces a une fonction setProperties..
    Hors j'ai crée une classe avec un extends de SimpleTagSupport, et je n'ai pas cette fonction de disponible...

    Suis je dans l'erreur?

    Pour ainsi dire je suis toujours perdu, certes un peu moins qu'a l'origine mais tout de même bien perdu...

    Cordialement,
    Vincent

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Quelle est la tld correspondante ?
    As-tu pensé à mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <rtexprvalue>true</rtexprvalue>
    ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Merci OButterlin de prendre sur ton temps pour m'aider.

    Oui j'ai bien pensé a le mettre :'(

    voici ma tld

    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
     
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <taglib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee">
      <display-name>aze</display-name>
      <tlib-version>1.0</tlib-version>
      <short-name>aze</short-name>
      <uri>/webapp/aze</uri>
      <tag>
        <description></description>
        <display-name>htmlCreatorTag</display-name>
        <name>htmlCreatorTag</name>
        <tag-class>aze.vinc.customTag.HtmlFileCreatorTag.HtmlCreatorTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
          <name>ServerBaseUrl</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
        </attribute>
      </tag>
    </taglib>
    Voici la classe correspondant au tld

    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
     
    public class HtmlCreatorTag extends SimpleTagSupport {
        /**tag attribute: ServerBaseUrl
         */
        private String ServerBaseUrl = "";
     
        public void doTag() throws JspException, IOException {
     
           System.out.println(ServerBaseUrl);
        }
     
        public void setServerBaseUrl(String value) {
            ServerBaseUrl = value;
        }
     
        public String getServerBaseUrl() {
            return ServerBaseUrl;
        }
    }

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas si ça vient de là mais personnellement, j'étend TagSupport et la méthode doEndTag() fait le boulot.
    Peux-tu essayer (il n'y a pas grand chose à modifier)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    ok je test

  8. #8
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    meme souci

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Euh, il y a aussi le #{...} à la place de ${...}, c'est voulu ?
    Tu as modifié le caractère el ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Alors j'ai déjà testé les deux, avec le # il m'affiche littéralement mon attribut tandis qu'avec le $ il m'affiche rien du tout. En effet, peut être qu'il essaie d'interpréter sans succès...
    Donc tu penses que le problème vient de plus haut?

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je pense oui, j'ai fait un test chez moi et ça fonctionne correctement.
    Un truc très basique comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean:define id="CONSTANT_LOAD" value="load"></bean:define>
    ...
    <layout:imageButton src="./commons/images/btnFiltrer.gif" reqCode="#{CONSTANT_LOAD}" key="bouton.filtrer"/>
    Tu peux essayer un truc comme ça ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Alors j'ai testé ceci pour vérifier que mon bind fonctionne. Et ce tag lib m'affiche bien le résultat souhaité. Et ceci avec un #


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <af:outputFormatted value="#{TestUntitled.url}"/>

    Je dois malheureusement partir, merci vraiment pour ton aide ! En espérant que tu sois disponible demain, je te souhaite une très bonne soirée.

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    OK, à demain...
    Tu pourras essayer de mettre un point d'arrêt dans la méthode setServerBaseUrl(...) pour vérifier ce qui monte...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Bonjour !

    J'espère que tu as bien dormi !

    Donc j'ai mis comme tu me l'as demandé un point d'arret au niveau de setServerBaseUrl.
    Dans le cas avec le # ma value est bien #{TestUntitled.url} .
    Dans le cas avec le $ ma value est vide.

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par raOOn Voir le message
    J'espère que tu as bien dormi !
    Ca va... Imhotep... (célèbre citation)

    Pour ton problème, il faudrait plus d'informations :

    - quel serveur
    - quelle version du conteneur
    - quel framework

    Peux-tu également montrer la page contenant le tag ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    imhotep imhotep

    J'utilise Custom Tags 2.0 et JSTL 1.1

    IDE: jdev10
    JRE: 1.5


    Mon binding pointe vers une bdd interne mais pas en localhost.

    voici ma page jsp

    mon taglib1 extends de TagSupport
    aze extends de SimpleTagSupport

    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
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="/WEB-INF/aze.tld" prefix="aze"%>
    <%@ taglib uri="/WEB-INF/taglib1.tld" prefix="taglib1"%>
    <f:view>
      <afh:html>
        <afh:head title="untitled1">
          <meta http-equiv="Content-Type"
                content="text/html; charset=windows-1252"/>
        </afh:head>
        <afh:body>
          <af:messages/>
          <h:form>
            <taglib1:Tag1 ServerBaseUrl="#{TestUntitled.url}"/>
            <aze:htmlCreatorTag ServerBaseUrl="${TestUntitled.url}"/>
            <af:outputFormatted value="#{TestUntitled.url}"/>
          </h:form>
        </afh:body>
      </afh:html>
    </f:view>

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu utilises surtout JSF...
    Il pourrait y avoir un problème de contexte... je ne sais pas trop...
    D'où vient la donnée "TestUntitled" au juste ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Oui j'utilise JSF, désolé ca fait deux semaines et demi que j'ai commencé java... Je viens du .NET, je suis pas tout a fait au point encore

    donc j'ai déclaré une méthodeAction dans la pagedef de la page

    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
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
                    version="10.1.3.42.70" id="untitled1PageDef"
                    Package="com.oracle.demo.FormAsWebComponent.view.pageDefs">
      <parameters/>
      <executables/>
      <bindings>
        <methodAction id="getPremierJetonId"
                      InstanceName="TestAppModuleDataControl.dataProvider"
                      DataControl="TestAppModuleDataControl"
                      MethodName="getPremierJetonId" RequiresUpdateModel="true"
                      Action="999" IsViewObjectMethod="false"
                      ReturnName="TestAppModuleDataControl.methodResults.TestAppModuleDataControl_dataProvider_getPremierJetonId_result"/>
      </bindings>
    </pageDefinition>

    Puis j'ai déclaré une classe bean lié a la page
    la fonction permet de récupérer la valeur.

    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
     
    package com.oracle.demo.FormAsWebComponent.view;
     
    import aze.framework.view.backing.azeBackingBean;
    import aze.framework.view.outils.azeJSFUtils;
     
     
    public class TestUntitled extends azeBackingBean{
        public TestUntitled() {
        }
     
        public String getUrl(){
            return azeJSFUtils.executeAction(this,"getPremierJetonId").toString();
        }
     
    }

  19. #19
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Dans mon face-config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <managed-bean>
        <managed-bean-name>TestUntitled</managed-bean-name>
        <managed-bean-class>com.oracle.demo.FormAsWebComponent.view.TestUntitled</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
          <property-name>bindings</property-name>
          <value>#{bindings}</value>
        </managed-property>    
      </managed-bean>

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je sèche...

    Je n'ai pas de projet jsf sous la main pour faire des tests, je verrai ça ce soir à la maison (à moins que quelqu'un d'autre te résolve le problème)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.3] [POO] Comment afficher le nom de l'attribut et non pas sa valeur
    Par pierrot10 dans le forum Langage
    Réponses: 5
    Dernier message: 28/03/2010, 21h59
  2. Facelets n'interprete pas le code
    Par rushtakn dans le forum JSF
    Réponses: 4
    Dernier message: 16/06/2009, 22h21
  3. Réponses: 2
    Dernier message: 11/11/2007, 16h49
  4. html:checkbox qui n'interprete pas un attribut
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 20/03/2007, 10h03
  5. [POO] La valeur de l'attribut ne change pas...
    Par slydemusli dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2006, 12h10

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