<c:forEach var = "i" begin = "0" end = "${List.size()}">
<option value="2" selected>
${List.get(i).getName()}
</option>
</c:forEach>
我的 arraylist (List) 和 forEach 都有效,但我不明白為什么 var i不能作為函式get()的引數。但是,如果我像${i}一樣使用它,它也可以作業,如果我想列印${List.get(0).getName()}發送一個數字作為引數,它也可以作業。
所以我的問題是為什么“i”在用作引數來獲取我想要的串列時不起作用。
我也試過這些:
<c:out value="${List.get(i).getName()}"/>
<%=List.get(i).getName()%>
uj5u.com熱心網友回復:
這里的問題是語法。您希望在這些地方撰寫 java 代碼,但是 JSP 要求這些運算式遵循運算式語言(“EL”)的語法。
在 EL 中,使用括號訪問陣列/串列/映射元素。屬性應遵循 getter 的命名約定,因此.name將在內部翻譯為getName().
總的來說,你的表達應該是
List[i].name
EL 逐一計算,最終回傳與List.get(i).getName().
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504189.html
上一篇:Jasper例外PWC6188-Jetty無法將javax.servlet.jstl.fmtTLD決議為專案內的JSTL類
