QA@IT
«回答へ戻る

回答を投稿

投稿したのは、
<%@ taglib prefix="sql" uri="http://jakarta.apache.org/taglibs/dbtags" %>
で定義される大昔のDBtagsです。(個人的には、こちらの方が使い易いのですが。。。)

standard-taglibsの dbtags(ver1.2.5)を用いて、以下のJSPファイルをTomcat9の上で
動かした所、エラーになってしまいました。

<%@ page contentType="text/html;charset=UTF-8"%>

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

<html>
<head>
<title>生産者一覧
</head>
<body>
<sql:setDataSource dataSource="jdbc/kome" var="kome"/>
<sql:query var="rs" dataSource="${kome}">
select 出荷業者名 from 出荷業者
</sql:query>
<c:forEach var="rec" items="${rs}">
<c:out value="${rec.出荷業者名}"/>
</c:forEach>
</body>
</html>

障害は、

org.apache.jasper.JasperException: An exception occurred processing [/test.jsp] at line [15]

12:
13: select 出荷業者名 from 出荷業者
14: /sql:query
15:
16:
17: /c:forEach
18:

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666)
org.apache.jsp.test_jsp._jspService(test_jsp.java:168)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

といったものです。私の環境が悪いのでしょうか?

投稿したのは、
<%@ taglib prefix="sql" uri="http://jakarta.apache.org/taglibs/dbtags" %>
で定義される大昔のDBtagsです。(個人的には、こちらの方が使い易いのですが。。。)

standard-taglibsの dbtags(ver1.2.5)を用いて、以下のJSPファイルをTomcat9の上で
動かした所、エラーになってしまいました。

<%@ page contentType="text/html;charset=UTF-8"%>

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

\<html>
\<head>
  \<title>生産者一覧</title>
\</head>
\<body>
\<sql:setDataSource dataSource="jdbc/kome" var="kome"/>
\<sql:query var="rs" dataSource="${kome}">
 select 出荷業者名 from 出荷業者 
\</sql:query>
\<c:forEach var="rec" items="${rs}">
\<c:out value="${rec.出荷業者名}"/>
\</c:forEach>
\</body>
\</html>

障害は、

org.apache.jasper.JasperException: An exception occurred processing [/test.jsp] at line [15]

12: <sql:query var="rs" dataSource="${kome}">
13:  select 出荷業者名 from 出荷業者 
14: </sql:query>
15: <c:forEach var="rec" items="${rs}">
16: <c:out value="${rec.出荷業者名}"/>
17: </c:forEach>
18: </body>

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in &lt;forEach&gt;
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666)
	org.apache.jsp.test_jsp._jspService(test_jsp.java:168)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

といったものです。私の環境が悪いのでしょうか?