我正在尝试使用Apache Tomcat服务器建立从derby数据库到JSP项目的连接。
我创建了数据库并手动添加了一些条目。看来我无法连接到数据库:
该表已正确显示,但未生成任何条目。
驱动程序,用户名和密码正确。
我不确定
<sql:query dataSource="${mydb}" var="result">
SELECT * FROM KUNDEN;
</sql:query>
部分正确。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>This is my title</title>
<sql:setDataSource url="jdbc:derby://localhost:1527/Shop" var="mydb"
driver="org.apache.derby.jdbc.ClientDriver" user="root" password="password"/>
<sql:query dataSource="${mydb}" var="result">
SELECT * FROM KUNDEN;
</sql:query>
</head>
<body>
<p>Testing Java: <% out.print("Welcome to Ninja Loot"); %>!</p>
<table border="1" width="100%">
<tr>
<th>KID</th>
<th>Name</th>
<th>Strasse</th>
<th>PLZ</th>
<th>Ort</th>
</tr>
<c:forEach items="${kundenList}" var='kunden'>
<tr>
<td>
<c:out value="${kunden.id}"/>
</td>
<td>
<c:out value="${kunden.name}"/>
</td>
<td>
<c:out value="${kunden.strasse}"/>
</td>
<td>
<c:out value="${kunden.plz}"/>
</td>
<td>
<c:out value="${kunden.ort}"/>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
答案 0 :(得分:0)
看来这是不正确的:
<c:forEach items="${kundenList}" var='kunden'>
您将SQL结果存储到的变量称为result:
<sql:query dataSource="${mydb}" var="result">
这意味着您需要设置要访问的“结果集”,以引用“结果”变量中的行,如下所示:
<c:forEach items="${result.rows}" var='kunden'>
该行的var名称仍然可以是'kunden',您可以在下面的代码中使用相同的名称。