我有以下代码:
var n = 1;
var term = "${abc[n].term}";
console.log("term = " + term);
术语似乎是空的,但如果我更换
var term = "${abc[n].term}";
通过
var term = "${abc[1].term}";
它有效。
看起来jsp正在寻找deck对象的n
属性,我怎么能修复它,以便当我使用is作为数组索引时n
被其值替换?
修改 看起来尝试混合使用JSTL和Javascript并不是一个好主意,如果你想使用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]);
答案 0 :(得分:1)
您没有正确使用引号,请尝试以下操作:
var term = "${abc[" + n +"].term}";
"${abc[n].term}"
此处n被视为字符串的一部分,而不是变量n
。所以尝试连接它。