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

JSF Java Discussion :

Problème variable dans info bulle


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut Problème variable dans info bulle
    Bonjour a tous,

    Alors voila j'ai une info bulle qui prend en parametre le texte qu'il doit afficher...

    Hors dans ma JSF, je recupere une ArrayList grace a un Bean et j'aimerais passer un parametre de cet Arraylist a ma bulle pour qu'il l'affiche...

    Par contre impossible de lui passer, ca n'affiche rien.

    Voici le javascript de la bulle

    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
       1. <script language="javascript" type="text/javascript">
       2.    <!--
       3.    function GetId(id)
       4.    {
       5.    return document.getElementById(id);
       6.    }
       7.    var i=false; // La variable i nous dit si la bulle est visible ou non
       8.
       9.    function move(e) {
      10.      if(i) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
      11.        if (navigator.appName!="Microsoft Internet Explorer" ) { // Si on est pas sous IE
      12.        GetId("curseur" ).style.left=e.pageX + 5+"px";
      13.        GetId("curseur" ).style.top=e.pageY + 10+"px";
      14.        }
      15.        else { // Modif proposé par TeDeum, merci à lui
      16.        if(document.documentElement.clientWidth>0) {
      17.            GetId("curseur" ).style.left=20+event.x+document.documentElement.scrollLeft+"px";
      18.            GetId("curseur" ).style.top=10+event.y+document.documentElement.scrollTop+"px";
      19.        }
      20.        else {
      21.            GetId("curseur" ).style.left=20+event.x+document.body.scrollLeft+"px";
      22.            GetId("curseur" ).style.top=10+event.y+document.body.scrollTop+"px";
      23.        }
      24.        }
      25.      }
      26.    }
      27.
      28.    function montre(text) {
      29.      if(i==false) {
      30.      GetId("curseur" ).style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
      31.      GetId("curseur" ).innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
      32.      i=true;
      33.      }
      34.    }
      35.    function cache() {
      36.    if(i==true) {
      37.    GetId("curseur" ).style.visibility="hidden"; // Si la bulle etais visible on la cache
      38.    i=false;
      39.    }
      40.    }
      41.    document.onmousemove=move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.
      42.    //-->
      43. </script>
    Et une partie du code de ma 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
    21
    22
    23
       1. <html:form>
       2.        <html:dataTable value="#{Rubrique.resultat}" var="resultat" border="0">
       3.              <div id="curseur" class="infobulle"></div>
       4.        <html:column>
       5.        <core:facet name="header">
       6.        <core:verbatim >Nom</core:verbatim>
       7.        </core:facet>
       8.        <html:outputText style="text-align: center; font-family:verdana; font-size:12; font-style:italic;" value="#{resultat.nom}"/>
       9.        </html:column>
      10.        <html:column>
      11.        <core:facet name="header">
      12.        <core:verbatim>Image</core:verbatim>
      13.        </core:facet>
      14.        <html:graphicImage value="#{resultat.image}" onmouseover="montre('#{resultat.description}')" onmouseout="cache()" />
      15.        </html:column>
      16.        <html:column>
      17.        <core:facet name="header">
      18.        <core:verbatim>Prix</core:verbatim>
      19.        </core:facet>
      20.        <html:outputText style="text-align: center; font-family:verdana; font-size:12; font-style:italic;" value="#{resultat.prix_unit} €" />
      21.        </html:column>
      22.        </html:dataTable>
      23.       </html:form>
    La partie concernee : ligne 14 de la JSP

    En resume : le but d'afficher la description associe lorsque je passe la souris sur sa photo.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Si ce code ne passe, voilà une idée :

    Mettre la valeur de #{resultat.description} dans un champ caché (<h:inputHidden>), puis de le récupérer dans ton code Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:form id="myForm">
        ...
        <h:inputHidden id="bidule" value="#{resultat.description}"/>
        ...
    et dans le Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var text = document.getElementById("myForm:bidule").value;
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Merci

    J'essai ça ce matin et je vous dis si c'est résolu ou non.

    Encore merci

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Bah en fait ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:form id="myForm">
        ...
        <h:inputHidden id="bidule" value="#{resultat.description}"/>
        ...
    me mets ce warning :

    "EL expression does not evaluate to expected types for this attribute"

    Et genere une erreur d'exception

    javax.servlet.ServletException: Error calling action method of component with id _idJsp9:_idJsp10
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)


  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Dans ton bean resultat, ça vaut quoi la propriété description ? C'est un String ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    resultat est un ArrayList.

    C'est "rubrique" qui est mon bean

    Et resultat.description est une string oui

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bon, désolé, j'avais pas trop fait attention à ton code JSP. Vu que nous sommes dans une datatable, ma solution ne fonctionne pas...

    Toutefois, le fait d'avoir onmouseover="montre('#{...}');", ça devrait marcher. Si tu mets un texte statique (onmouseover="montre('test');" par exemple), est-ce que tu as bien quelque chose qui s'affiche ? Je pencherais peut-être du côté d'un pb JS...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Oui quand je mets n'importe quel texte, ca fonctionne nikel.

    Erf je cherche un peu partout sur le net, et je ne trouve pas

Discussions similaires

  1. problème variable dans substitution par regex
    Par gorgonite dans le forum Langage
    Réponses: 2
    Dernier message: 26/12/2007, 12h31
  2. résultat SQL dans info bulle
    Par davelop dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2007, 14h39
  3. [Configuration] problème variable dans l'url
    Par Sarrus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 13
    Dernier message: 05/04/2007, 11h17
  4. [VB.NET] problème variables dans les textbox
    Par pierrepelerin dans le forum Windows Forms
    Réponses: 6
    Dernier message: 18/10/2006, 00h13
  5. problème variable dans formulaire
    Par calitom dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 15h12

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