2011-02-15 3 views
3

봄에 변수를 전달하는 방법에 문제가 있습니다.자바 배열을 전달하여 스프링 뷰로 사용하기

제 의도는 이중 배열을 전달하고이를 자바 스크립트에서 배열을 사용하여 Google 시각화를 만드는 것입니다.

문제는 자바 객체 (toString) 만 가져오고 값을 루프 할 수 없다는 것입니다.

Java 파일

그리고 내 JSP에서

dataTable = new google.visualization.DataTable(); 
var data = '${array}'; 

dataTable.addColumn('string', 'Task'); 
dataTable.addColumn('number', 'Hours'); 
dataTable.addRows(data.length); 

for (i=0;i<=data.length;i++) 
{ 
    dataTable.setValue(i, data[i]); 
} 


var chart = new google.visualization.PieChart(document.getElementById('chart_div')); 
chart.draw(data, {width: 400, height: 240, is3D: true, title: 'My Array'}); 

내가 원하는 여기에 배열을 반복 할 수있을 것입니다. 나는 Arrays.Tostring()을 사용할 수 있다는 것을 알고 있지만 이것은 불필요하게 보인다.

var data = '<c:forEach var = "a" items = "${array}" varStatus = "s">${a}${s.last ? "" : ","}</c:forEach>'; 

답변

2

는 (태그 라이브러리 선언 <%@taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %> 필요). 그래서 배열을 반복하고 배열을 자바 스크립트 배열로 출력하는 함수를 호출해야합니다.

아니면 JSTL로 작업을 수행 할 수 있습니다

var data = [<c:forEach var="d" items="${array}">${d}, </c:forEach>]; 
+0

감사합니다. jstl을 올바르게 사용하기 위해 어떻게 사용할 수 있을지 확신하지 못했습니다. – Nitro

0

이중 배열의 toString 메소드는 다음과 같이 뭔가를 반환합니다 : [[email protected] JSTL을 사용하여

관련 문제