ViewServlet のリクエスト オブジェクトに保存されているオブジェクトのリストにアクセスするために jstl を使用して view.jsp のテーブルにデータを入力しようとすると、次のエラーが発生します。
/WEB-INF/jsp/admin/view.jsp (line: 34, column: 16) Attribute value invalid for tag forEach according to TLD
エラーなしでテーブルに正しくデータを入力するようにコードを修正する方法を教えてもらえますか?
view.jsp の関連部分は次のとおりです。
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<table>
<!-- here should go some titles... -->
<tr>
<th>Type</th>
<th>Number</th>
<th>id</th>
</tr>
<c:forEach begin="1" end= "${ no }" step="1" varStatus="loopCounter"
value="${coursesummaries}" var="coursesummary">
<tr>
<td>
<c:out value="${coursesummary.coursetype}" />
</td>
<td>
<c:out value="${coursesummary.numunits}" />
</td>
<td>
<c:out value="${coursesummary.id}" />
</td>
</tr>
</c:forEach>
</table>
ViewServlet.java の関連部分は次のとおりです。
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String idString = req.getParameter("id");
Long id = new Long(idString);
List<CourseSummary> coursesummaries = new CourseSummaryDAO().findAll(id);
req.setAttribute("coursesummaries", coursesummaries);
jsp.forward(req, resp);
}
そして、ここにスタック トレース全体があります。
org.apache.jasper.JasperException: /WEB-INF/jsp/admin/view.jsp (line: 34, column: 16) Attribute value invalid for tag forEach according to TLD
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:237)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1265)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:875)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1798)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
myapp.ViewServlet.doGet(ViewSchoolServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
myapp.SecurityFilter.doFilter(SecurityFilter.java:56)