2017-04-13 3 views
0

Hi wie der Titel sagt, ich versuche, ein Array von meinem Java-Servlet zu lesen. Ich versuche, das Array in meiner Java-Skriptdatei zu lesen.Array von Java-Servlet in Javascript lesen

Java-Servlet-Code: Zeichenfolge graphData [] = dbHandler.select (attributes); // das Array mit Daten aus der Datenbank füllen. request.setAttribute ("graphData", graphData);

RequestDispatcher dispatcher = request.getRequestDispatcher("/displayData.jsp"); 
dispatcher.forward(request, response); 


    <script type="text/javascript"> 
     var graphData = ['${graphData}']; 
     var graphData= pageContext.getAttribute("graphData"); 
     var graphData = document.getElementById("graphData"); 
     var GraphData = ['${graphData}']; 
     log("test: " + graphData); 
    </script> 

Ich habe versucht, alle diese Optionen, aber keiner von ihnen arbeitete. Kann mir bitte jemand sagen, was der richtige Weg ist, ein Array von einem Java-Servlet in einer JSP-Seite zu lesen?

Vielen Dank im Voraus!

edit:

, was ich die Daten aus dem Array tun kann, auf der JSP-Seite ist Ausdruck (im Header) mit diesem Code:

<c:forEach items="${graphData}" var="temp"> 
    <c:out value="${temp}"/><br /> 
    </c:forEach> 

Aber ich will aus den Daten verwenden das Array in meinem JS-Code. was aus irgendeinem Grund nicht funktioniert.

+0

sind Sie JS Daten von jsp Seite zu lesen versuchen? Besser im Detail in einigen Attribut zu füllen und senden Sie per Formular senden Servlet –

+0

@ShivamAggarwal: Er erwähnte eindeutig, dass er Attribut von Servlet in Js-Code liest. – Ankit

Antwort

0

können Sie mögen verwenden diese

<script> 
    var graphData = [ 
    <c:forEach items="${graphData}" var="graph"> 
     '<c:out value="${graph}" />', 
    </c:forEach> 
    ]; 
    console.log(graphData); 
</script> 
+1

Darf ich Ihnen vielmals danken, Herr! – kaspertje100

+1

sehr sauberer Code – Ankit

0

Welche Ausgangs Sie bekommen nach dieser Zeile ausgeführt wird,

var test = <%=request.getAttribute("graphData")%>; 

or 

var test = ${graphData}; 

Hinweis: Obwohl es nicht viel Unterschied macht (in Bezug auf die Produktion) unter Verwendung von gleichen Namen wie Graphdata Sie benutzt hatte, aber ich ziehe verschiedene Namen wie graphDataJS verwenden

+0

für: var test = <% = request.getAttribute ("graphData")%>; Ich bekomme: var test = [Ljava.lang.String; @ 26d719; im Debug-Modus von chrome (f12) und es gibt auch diesen Fehler: Uncaught SyntaxError: Unexpected Token; – kaspertje100

+0

Das gleiche gilt für: var test = $ {graphData}; Im Chrom-Debug-Modus (f12) erscheint es als: var test = [Ljava.lang.String; @ 1dba1af; Ich bekomme Uncaught SyntaxError: Unerwartetes Token; – kaspertje100