2017-04-21 1 views
0

jsp에서 data []. name 배열에 액세스하려고합니다. jsp 파일 안에 javascript로 console.log ('$ {data [0] .name}')를 입력하면 작동합니다. 입력 문자열의 경우 : 내가 루프java.lang.NumberFormatException : 입력 문자열 : "+ i +"

for(int i=0;i<=count;i++){ console.log('${data['+i+'].name}'

얻기 java.lang.NumberFormatException의를 사용하는 경우 "+ 난 +"

루프 대신 JSTL 자바 의 자바 스크립트로 이해된다
+0

문제는 for 루프가 템플릿보다 늦게 실행된다는 것입니다. 그래서 템플릿은'date [ '+ i +']'를보고, 분명히 그 문자열 (''+ i +'')을 숫자로 변환하여 인덱스로 사용할 수있게하려고합니다. 그리고 그것은 실패합니다. 그렇다면 여기서 정확히 달성하고자하는 것은 무엇입니까? – ddekany

답변

1

이 같은 배열을 반복 할 수 :

스크립틀릿으로
<c:forEach items="${data}" var="d"> 
    console.log('${d.name}'); 
</c:forEach> 

: 무료로

<% for(int i=0; i<data.length;i++){%> 
    console.log('${data[i].name}'); 
<% } %> 

마커 : (.ftl 파일에서)

<#list data as d> 
    console.log('${d.name}'); 
</#list> 
+0

내 jsp 파일 내 js에서 시도했습니다. 이 오류를 얻으려면 SyntaxError : 예상되는 표현식 '<'이 있습니다. –

+0

freemarker는 freemarker 파일 (.ftl)에서만 작동합니다. 게시물을 편집하고 다른 옵션을 추가했습니다. –

+0

도움을 주셔서 감사합니다. –

관련 문제