2012-08-08 122 views
1

有一些JSP頁面和列表:JSTL標籤沒有看到Java變量

List<Articles> listArticles = ListArticles.getArticles(1); 
Iterator<Articles> iter = listArticles.iterator(); 

,然後我通過這個列表迭代,我想補充的元素ArrayList的

<% 
    ArrayList<String> arts = new ArrayList<String>(); 
    while (iter.hasNext()) { 
     Articles currentArticle = iter.next(); 
     arts.add(currentArticle.getTitle()); 
    } 
%> 

,然後我嘗試打印此ArrayList,但沒有任何反應(C:的forEach根本看不出來 「$ {}藝術」)

<c:forEach var="listItem" items="${arts}"> 
     c:out value="${listItem}" /> 
</c:forEach> 
+2

此外,您可能想避免使用scriplets請參閱http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files – 2012-08-08 08:46:13

回答

4

您需要添加arts到頁面上下文。 JSTL標記不知道頁面級別的JSP變量,它可以與JSP範圍一起使用。

添加這個您填寫您的arts陣列

pageContext.setAttribute("arts", arts); 

後,你應該罰款。

+0

謝謝:)它真的幫助。 – Dedyshka 2012-08-08 08:49:53