я следующий код:Использование Javascript переменной в качестве индекса массива
var n = 1;
var term = "${abc[n].term}";
console.log("term = " + term);
термин кажется пустым, но если я заменю var term = "${abc[n].term}";
по var term = "${abc[1].term}";
это работает.
Похоже, что jsp ищет свойство объекта делянки n
, как я могу исправить его так, чтобы n
был заменен его значением, когда я использую индекс массива?
Edit: Кажется, что это не очень хорошая идея, чтобы попробовать смешивания JSTL и Javascript, и что, если вы хотите использовать яваскрипт переменного в качестве индекса массива, вы должны скопировать объект в объект Array, как это :
var deck = new Array();
<c:forEach var="v" items="${abc}">
deck.push("${v.term}");
</c:forEach>
var n = 1;
console.log("term = " + deck[n]);
Вы можете идеально сочетать JavaScript с JSP/JSTL/EL. Вы должны только ** понимать **, что JSP/JSTL/EL работает на веб-сервере и создает HTML-код, а JavaScript является частью созданного HTML-кода, который, в свою очередь, работает в webbrowser. Правая страница в браузере и сделайте * Просмотр источника *. Вы видите это сейчас? Вы должны написать код JSP/JSTL/EL таким образом, чтобы он выдавал желаемый код HTML/JS. – BalusC