2010-06-14 8 views
2

ArrayList에 대량의 객체를 저장했으며 요청에이 객체를 설정했습니다. 이제 자바 스크립트에서 Arraylist의 값을 검색하고 싶습니다. 솔루션으로 도와주세요어떻게 자바 스크립트에서 Java의 ArrayList 값을 반복 할 수 있습니까?

+0

당신이 당신이 의미하는 바를 확대 할 수 있습니까 * "... 요청에 *"설정 했습니까? 그것은 즉시 이해가되지 않습니다. –

+1

그냥 요청에 목록 개체를 설정합니다. – i2ijeya

+0

그는 요청 범위 속성에 넣을 것을 의미한다고 생각합니다. – bezmax

답변

3

JSON을 사용하면 Java와 Javascript 간 정보 교환을 용이하게 할 수 있습니다. 라이브러리는 양 끝에서 사용할 수 있습니다.

List의 요소를 배열에 넣으려면 Collection.toArray을 사용할 수 있습니다.

2

먼저 자바 스크립트로 직렬화해야합니다. 을 할 수있는 2 가지 방법이 있습니다 :

1) 보편적 인 방법 - 당신은 그냥처럼 JSP로 뭔가에 넣어 https://stackoverflow.com/questions/338586/a-better-java-json-library :

<script...> 
var myArray = <% JSON.Serialize(myArray) %>; 
</script> 

2) 신속하고 더러운 :

<script...> 
    var myArray = [ 
    <c:forEach items="${myArray}" var="item"> 
    { 
     name = "<c:out value="${item.name}">", 
     text = "<c:out value="${item.text}">" 
    }, 
    </c:forEach> 
    ]; 
</script> 

은 둘 다 JS와 같은 결과를 가져오고 JS에서 사용할 수 있습니다.

var myArray = [ 
{ 
    name = "Mike", 
    text = "Hello world" 
}, 
{ 
    name = "Max", 
    text = "Hi!" 
} 
]; 
+0

단순한 배열 (문자열, 정수 배열)에 JSON을 사용하지 않는 것이 좋습니다. 동일한 결과와 더 나은 성능으로 "더러운 방식"으로 작업하기가 훨씬 쉽습니다. 그러나 JavaScript에 전달해야하는 복잡한 객체가있는 경우 JSON 직렬화가 좋습니다. – bezmax

관련 문제