Java forEach标记有问题

Java forEach标记有问题,java,jsp,jstl,Java,Jsp,Jstl,大家好,我在使用forEach进行迭代时遇到了一个问题,我正在给出完整的代码,请告诉我这有什么问题 index.jsp jsp代码: 电影集 电影列表 ${movie} 我得到以下错误,我无法理解 welcome.jsp:9:24: Static attribute must be a String literal, its illegal to specify an expression. <c:forEach var="movie" items="${movieList}">

大家好,我在使用forEach进行迭代时遇到了一个问题,我正在给出完整的代码,请告诉我这有什么问题

index.jsp jsp代码:

电影集
电影列表

${movie}
我得到以下错误,我无法理解

welcome.jsp:9:24: Static attribute must be a String literal, its illegal to specify an expression.
<c:forEach var="movie" items="${movieList}">
                       ^---^
welcome.jsp:9:24: Static attribute must be a String literal, its illegal to specify an expression.
<c:forEach var="movie" items="${movieList}">
                       ^---^
welcome.jsp:9:24:Static属性必须是字符串文字,指定表达式是非法的。
^---^
jsp:9:24:Static属性必须是字符串文字,指定表达式是非法的。
^---^

请帮忙。谢谢

我想这是因为taglib声明中的URI不正确。应该是

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

而不是

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

您使用的是旧的JSP-2.0之前的库,它不支持运行时表达式(表达式作为原始字符串传入,并由标记本身而不是JSP引擎进行计算)

编辑:看起来与您的问题相同

您可以尝试:

<c:forEach items="${movieList}" varStatus="i">
     <td>${movieList[i.index]}</td>
</c:forEach>

${movieList[i.index]}

请包括这一行:

 <%@ taglib uri='http://java.sun.com/**jsp**/jstl/core' prefix='c'%>

而不是:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

实际上JSTL-只是一组自定义标记,不能单独使用。 如果您没有使用任何MVC框架,那么您需要自己进行一些修改。 如果您使用的是Spring MVC,那么将jstl包括为:

<%@taglib prefix="c" uri="http://java.sun.com/jstl/**core_rt**"%>


如果您不使用核心\u rt,则会出现错误。

在另一个问题中,他最初在模板文本中遇到EL问题。非常感谢,先生。问题只在于标签库。很高兴它帮助了您。请不要忘记单击左侧的白色大复选标记,将其答案标记为已接受:)这就是Stackoverflow的工作原理:
<c:forEach items="${movieList}" varStatus="i">
     <td>${movieList[i.index]}</td>
</c:forEach>
 <%@ taglib uri='http://java.sun.com/**jsp**/jstl/core' prefix='c'%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/**core_rt**"%>