2013-06-05 5 views
0

자바에서 자바 스크립트로 문자열 배열을 전달하고 싶습니다. 나는 어떻게 똑같이 달성 할 수 있나. loadUrl을 사용하여 Java String []을 javascript 함수에 전달하고 있습니다. (문자열 [] 문자열 이름 -> [ "안녕하세요", "안녕하세요"]) 내가자바에서 자바 스크립트로 배열을 전달하는 방법

function displayString(StringName) { 
    for(var i=0;i<StringName.length;i++) { 
     alert("path : " + StringName[i]); 
    } 
} 

내가 기대하고 자바 스크립트에서 동일한 액세스하려고 할 경우에만 있기 때문에

을하지만 길이는 2 일합니다 Java String []에있는 2 개 항목입니다. 하지만 자바 스크립트에서는 문자열로 처리됩니다. 배열로 가져 오는 데 사용해야하는 형식

+3

(#으로 분리 사용)? – Raptor

+1

"somestring, somethingelse"은 어떨까요 .split (',')'? – NoBugs

+0

안드로이드에서 WebView를 사용하여 나는 페이지를 만들었고 일부 명령을 실행하기 위해 JavaScript에 문자열 배열을 보내려고합니다. –

답변

2

두 아이디어는 내 마음에 와서. jsp를 사용하여 자바 스크립트 배열을 만들거나 자바 배열에 구분 기호를 사용하여 문자열을 만든 다음 문자열에서 split()을 사용하여 자바 스크립트에서 다시 읽을 수 있습니다.

방법 1 : 이것은 자바 배열에 포함 된 값으로 자바 스크립트 배열을 사용할 준비를 만들어야합니다

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

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

.

방법 2 : 자바는 ... 당신이 당신의 페이지가 JSP로 작성 의미

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

jsp 페이지를 개발 중이라고 생각했습니다. 이 게시물을 찾지 않으려면이 게시물을 무시하십시오. – midhunhk

0
<% 
    String[] jArray= new String[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()%>"; 
    var array = new Array(); 
    array = temp.split(',','<%=jArray.length%>'); 

    alert("array: "+array); 
</script> 
관련 문제