<%
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@VAIO:1521:XE","system","manager");
PreparedStatement stmt=con.prepareStatement("Select * from tasks");
ResultSet rset=stmt.executeQuery();
while(rset.next())
{
%>
<html>
<body>
<table>
<tr>
<td>
<a href=""><%out.print(rset.getString(2));%></a>
</td>
<td>
<%out.print(rset.getString(3));%>
</td>
</tr>
</table>
</body>
</html>
<%
}
%>
需要使用表的所有条目作为超链接在新页面上打开,并在数据库中包含其他详细信息。任何想法怎么做?
答案 0 :(得分:1)
创建指向某个细节servlet的链接,其中一个参数指示要显示的行的ID:
<a href="detailServlet?id=<%= rs.getLong(1) %>"><%out.print(rset.getString(2));%></a>
在servlet中,使用request.getParameter(“id”)来获取链接发送的ID。
那就是说,你不应该
使用scriptlet并从JSP访问数据库超过10年被认为是不好的做法。我真的不明白新手们是如何做到这一点的。好的代码看起来像:
<c:forEach var="row" items="${rows}">
<tr>
<td>
<a href="<c:url value="/detailServlet">
<c:param name="id" value="${row.id}"/
</c:url>"<c:out value="${row.name}"/></a>
</td>
<td>
<c:out value="${row.description}"/>
</td>
</tr>
</c:forEach>