오늘 제가 겪은 문제는 js의 백그라운드에서 보낸 목록의 값을 가져오고 싶다는 것입니다. 원래 페이지는 ELexpression을 사용하여 표시되었으며 모든 것이 괜찮았지만 대부분에 따라 값을 얻으려고 할 때 컬렉션에서 URL을 동적으로 가져온 다음 js에서 qrcode를 호출해야 했습니다. 아이디어 중 다음 문제가 발생했습니다
for(var i=0;i<${myTickets.size()};i++) { $('#qrcode'+i).qrcode({text: ${myTickets[i].url}}); }
하하하, 디버깅 도구를 사용하여 ${myTickets.size()}가 목록의 길이를 가져왔는지 확인했지만 ${myTickets[i].url}} 아무런 가치도 얻지 못했습니다!
그럼 다음과 같이 값을 구해봤습니다
[javascript] view plain copy for(var i=0;i<${myTickets.size()};i++) { alert(${myTickets[0].url}) }
헤헤헤 빼내고 나면 많이 아프네요. 그러나 문제는 여기에 있습니다. for 루프에서 EL 표현식 ${myTickets[i].url}을 사용할 때 ${myTickets[i].url}의 i는 값을 얻을 수 없습니다. 즉, EL 표현식이 JS 에서는 변수를 사용할 수 없습니다. EL 표현식은 전체입니다. 구체적으로 다음을 수행할 수 있습니다. JS에서 foreach를 사용하여 값을 꺼내서 배열에 넣은 다음 배열을 트래버스하는 것이 완벽한 솔루션이 될 수 있습니다.
[javascript] view plain copy var array = new Array(); <c:forEach items="${myTickets}" var="t"> array.push(${t.ticketNo}); //js中可以使用此标签,将EL表达式中的值push到数组中 </c:forEach> for(var i=0;i<array.length;i++) { $('#qrcode'+i).qrcode({text: ctx+"/wxpay/"+array[i]}); }
위는 제가 컴파일한 것입니다. 모두를 위해, 앞으로도 모두에게 도움이 되기를 바랍니다.
관련 글:
<script></script> 태그에서 el 표현식 사용 방법
위 내용은 자바스크립트에서 EL 표현식 목록 컬렉션의 값 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!