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

Développement Web en Java Discussion :

Ecrire du code Java dans JavaScript


Sujet :

Développement Web en Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 33
    Points : 20
    Points
    20
    Par défaut Ecrire du code Java dans JavaScript
    Bonsoir,

    j'utilise pour afficher les graphes dans une page jsp la solution de site http://www.highcharts.com.

    le problème c'est que, quand j’exécute une requête je connais pas le nombre de ligne envoyé par la BD, et pour les affichés tous sous forme d'un graphe j'ai pensé d'utiliser un code java dans le script de highcharts.com, mais bien sur ne marche pas.

    donc je cherche une méthode pour que le script affiche les graphe selon les résultats envoyés par la BD.

    et voilà un exemple ou il faut modifier, exactement dans data:[ ]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    data: [
    		                ['Website visits',   15654],
    		                ['Website visits',   15654],
    		                ['Website visits',   15654]
     
     
    		            ]
    et moi je cherche un code qui fait comme le code suivant mais dans le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <c:forEach items="${ achatMarque}" var="list" >
                            <c:out value="['${list.produit.marque.nom }' , ${list.chiffreAffaire }],"></c:out>
                          </c:forEach>
    et merci d'avance;

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu peux écrire dans ta jsp, un code java qui génére le tableau de données qui sera utilisé pour afficher le graphe : ce tableau est en javascript, du texte dans ta page html au même titre que n'importe quel autre.

    Exemple :
    Code jsp : 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
     
     
    <script type="text/javascript">
     
    /* ... */
     
    data : [
     
    <%
        ResultSet rs = ...
        boolean first=true;
        while( rs.next() ) {
           if ( first ) first=false;
           else out.print(","); // on peut écrire dans le flux comme ça (ici pour la virgule qui sépare chaque ligne
            %>['<%=rs.getString(1)%>',  <%=rs.getInt(2)%>] <% // ou on peut écrire dans le flux comme ça
        }
     
    %>
    ]
     
    /* ... */
     
    </script>
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    j'ai essayé ce code mais il affiche une erreur de compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%
    		List<Achat> rs= (List<Achat>) request.getAttribute( "achatMarque" );
     
    for(Achat a:rs){// on peut écrire dans le flux comme ça (ici pour la virgule qui sépare chaque ligne
        %>['<%=rs.chiffreAffaire)%>',  <%=rs.produit.marque.nom)%>] <% // ou on peut écrire dans le flux comme ça
    }
     
    %>

    erreur

    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
     
    Une erreur s'est produite à la ligne: 85 dans le fichier jsp: /WEB-INF/TB/TBAchat.jsp
    Achat cannot be resolved to a type
    82: 		<div id="container" style="min-width: 310px; max-width: 400px; height: 300px; margin: 0 auto"></div>
    83: 		
    84: 		<%
    85: 		List<Achat> rs= (List<Achat>) request.getAttribute( "achatMarque" );
    86: boolean first=true;
    87: while( rs.next() ) {
    88:    if ( first ) first=false;
     
     
    Stacktrace:
    	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
    	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)
    	at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:580)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
    	at com.cvtb.servlets.TB.TBAchat.doGet(TBAchat.java:67)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.cvtb.filters.DGFilter.doFilter(DGFilter.java:57)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at com.cvtb.filters.AuthentificationFilter.doFilter(AuthentificationFilter.java:65)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    Achat est une classe bien présente dans le package beans.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Il manque l'import :

    Comme pour java.util.List :

    <%@ page import="java.util.List" %>

    Il faut :

    <%@ page import="beans.Achat" %>

    si le package de la classe Achat est bien beans .
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    marche très très bien, merci beaucoup

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

Discussions similaires

  1. JSP : mettre du code java dans une fonction javascript
    Par padraig29 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/08/2010, 10h07
  2. Integration code java dans script Javascript
    Par Anysse dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/08/2007, 00h34
  3. Code java dans du Javascript
    Par ahulane dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/05/2007, 09h44
  4. [Forms 9i] Integrer du code java dans un bloc PL/SQL
    Par mohmanjdo dans le forum PL/SQL
    Réponses: 2
    Dernier message: 07/02/2006, 13h54
  5. Variable Java dans JavaScript
    Par blaiseac dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 14h09

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