Skip to content Skip to sidebar Skip to footer

How To Pass Array From Java To Javascript

I want to pass a String Array From java to javascript. How can i acheive the same. using loadUrl, i am passing the Java String [] to a javascript Function. (String[] StringName--&g

Solution 1:

Two ideas come to my mind. You can create a javascript array using jsp or you can use a separator for the java array and create into a string, then read back in javascript using split() on the string.

Method 1:

<% String array[] = // is your initialized array %>

<script>var jsArray = newArray();
<% for(Stringelement:array){
%> jsArray[jsArray.length] = <% element %>
<% } %>
</script>

This should create a ready to use Javascript array with the values contained in your Java array.

Method 2: (Using separator as #)

<% StringBuilder sb = newStringBuilder();
for(Stringelement:array){
sb.append(element + "#");
}
%>
<script>var temp = <% sb.toString() %>
var array = temp.split('#');
...
</script>

Solution 2:

Java to JSON and JSON to Java is fairly well covered ground.

you should check this out.

https://stackoverflow.com/questions/338586/a-better-java-json-library

Solution 3:

<%
    String[] jArray= newString[2];
    jArray[0]="a";
    jArray[1]="b";

    StringBuilder sb = new StringBuilder();
    for(int i=0;i<jArray.length;i++) 
        sb.append(jArray[i]+",");
%>

<script type="text/javascript">
    temp="<%=sb.toString()%>";
    vararray = newArray();
    array = temp.split(',','<%=jArray.length%>');

    alert("array: "+array);
</script>

Post a Comment for "How To Pass Array From Java To Javascript"