2015-01-20 4 views
1

저는 프로젝트에서 Spring MVC을 사용합니다. 내 컨트롤러에서 모델 맵에 값 목록을 추가합니다.자바 스크립트에서 모델 맵리스트를 반복합니다.

model.addAttribute("BulkList", finalizedBulkList); 

finalizedBulkListjava.util.List이다.

이제 목록을 반복하고 목록 내의 값을 javascript에 검색해야합니다.

어떻게하면됩니까?

var limit = parseInt(${BulkList}.length); 

for(i=0; i<limit; i++){ 
    console.log("value is = "+${BulkList[i]}); 
} 

위가 내가 시도했지만 올바르지 않습니다. 당신은 당신의 HTML 또는 JSP 코드에서이 같은 modelMap 목록 개체를 통해 반복하는 JSTL 태그를 사용할 수 있습니다

+0

자바 스크립트로 무엇을 할 계획입니까? – VPK

+0

자바와 자바 스크립트는 관련 언어가 아닙니다 (이름이 그렇게 생각할지라도). 자바 스크립트가 자바 목록으로 작업 할 수 있다고 가정 할 수는 없습니다. UI에 Java 또는 Jsp를 사용하지 않는 이유는 무엇입니까? – Stultuske

+0

가장 좋은 해결책은 AJAX 호출을 통해이 데이터를 얻는 것이지 페이지에 배열로 쓰는 것이 아닙니다. 둘째, Spring MVC에서 사용하고있는 ViewResolver는 무엇입니까? – Beri

답변

1

당신은 자바 스크립트에서 BulkList 접근이 없습니다. Javascript는 JSP에서 생성 된 소스 코드에만 액세스 할 수 있습니다.

자바 스크립트에서 목록에 액세스하려면 자바 스크립트 배열에 항목을 추가해야합니다. 다음과 같은 내용 :

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
var bulkListJavascriptArray = [ 
<c:forEach var="bulkItem" items="${BulkList}"> 
    <c:out value="${bulkItem}"/>, 
</c:forEach> 
]; 

for(var i=0; i<bulkListJavascriptArray.length; i++){ 
    console.log("value is = " + bulkListJavascriptArray[i]); 
} 
+0

대단히 감사합니다! – vigamage

0

<div><c:forEach begin="0" end="${fn:length(BulkList) - 1 }" items="${BulkList}" var="bulkObject"> 
    <c:if test="${bulkObject != 0}"><c:out value="${bulkObject}"/></c:if> 
</c:forEach> 
</div> 

당신이 당신의 jsp 페이지에 포함하기 위해 필요한이 JSTL 태그 라이브러리를 사용합니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 
+0

자바 스크립트에서 액세스하는 방법을 모르십니까? 브라우저 콘솔에서 값을 인쇄해야한다고 어떻게 할 수 있습니까? – vigamage

+0

그런 다음, ''대신'<% System.out.println ("Hello World in Console!"); %>'. 당신이 자바 스크립트를 사용하기 위해 언급 한 요구 사항은 Javascript가 서버 측에서 스크립트와 클라이언트 측에서 실행되기 때문에 나에게 권장되는 접근 방식이 아니라고 생각합니다. – VPK

+0

이렇게리스트의 길이를 얻을 수 있다면,'var limit = parseInt ($ {BulkList} .length);'왜 스크립트의리스트를 반복 할 수 없습니까? – vigamage

관련 문제