在进行jsp学习的过程中,犯了一个低级错误:
Attribute val invalid for tag iterator according to TLD
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:237)
错误提示:Attribute val invalid for tag iterator according to TLD at org.apache.jasper.compiler.DefaultError
错误原因:原来是把var写成了val。这样的错误一般是把标签中的单词拼写错误。
<c:if test="${not empty list }">
<c:forEach items="${list }" val="flower"><!-- items迭代参数,val迭代变量 -->
<!-- 获取flower的各项信息 -->
<tr>
<td>${flower.id }</td>
<td>${flower.name }</td>
<td>${flower.price }</td>
<td>${flower.production }</td>
</tr>
</c:forEach>
</c:if>
因为forEach取得是迭代器var的变量,进行遍历整个迭代器中的参数
解决方法:
<c:forEach items="${list }" var="flower"><!-- items迭代参数,var迭代变量 -->
错误总结:
(1)jsp基础知识不是很了解,知识体系不是很完善。
(2)遇到小问题不知道自己解决,等待着别人的帮助。
(3)遇到小问题需要自己总结经验,查询网络进行解决。
本期问题解答到此结束,欢迎各位进行关注交流。