Java forEach标记有问题
大家好,我在使用forEach进行迭代时遇到了一个问题,我正在给出完整的代码,请告诉我这有什么问题 index.jsp jsp代码: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}">
电影集
电影列表
${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**"%>