Java 无法使用jstl在列表中循环

Java 无法使用jstl在列表中循环,java,jsp,jstl,jsp-tags,Java,Jsp,Jstl,Jsp Tags,请检查以下代码: <% List list = new ArrayList(); list.add("susheel"); list.add("singh"); %> <c:forEach items="${list}" var="list1"> <c:out value="${list1}"/> </c:forEach> 这是我试图执行但无法获得输出的代码。请帮我找到问题,谢谢。JSP EL不使用本地sc

请检查以下代码:

<%
    List list = new ArrayList();
    list.add("susheel");
    list.add("singh");
%>

<c:forEach items="${list}"  var="list1">
    <c:out value="${list1}"/>
</c:forEach>


这是我试图执行但无法获得输出的代码。请帮我找到问题,谢谢。

JSP EL不使用本地scriptlet变量。它使用作用域属性。如果scriptlet执行以下操作,则代码将正常工作:

request.setAttribute("list", list);

但是您永远不应该使用scriptlet。Java代码应该在作为Java类编写的控制器中。Java代码应该使用泛型类型,而不是原始类型:
List
ad not
List

由于某种原因,eclipse输出将以${list1}的形式出现。这可能是因为您忘记在JSP顶部声明taglib。这没有任何意义。Netbeans和Eclipse是IDE,而不是web容器。web容器是执行JSP的工具。与taglib JAR存在一些冲突…您能告诉我使用哪个版本吗