使用while循环在jsp上动态创建行
我试图从hsqldb中检索数据,并以表的形式向用户显示。我使用while循环来查看是否有更多的数据要显示,但是jsp页面在while行上抛出了编译器错误!请帮忙 以下是我的jsp代码:使用while循环在jsp上动态创建行,jsp,jdbc,dynamic,while-loop,html-table,Jsp,Jdbc,Dynamic,While Loop,Html Table,我试图从hsqldb中检索数据,并以表的形式向用户显示。我使用while循环来查看是否有更多的数据要显示,但是jsp页面在while行上抛出了编译器错误!请帮忙 以下是我的jsp代码: <% Connection con = JDBCHelper.getConnection(); PreparedStatement ps_sel = null; HttpSession s = request.getSession(false); ResultSet rs = null; String us
<%
Connection con = JDBCHelper.getConnection();
PreparedStatement ps_sel = null;
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<tr>
<td><%= rs.getString(1)%></td>
<td><%= rs.getString(2)%></td>
<td><%= rs.getString(3)%></td>
<td><%= rs.getString(4)%></td>
<td><%= rs.getString(5)%></td>
<td><%= rs.getString(6)%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
jsp文件中准备的语句在语法上是合法的。但要避免使用它们。使用POJO编写java代码。出于同样的目的,可以使用jstl。如果您是初学者,那么在这里使用jstl是重要的学习。检查java导入语句,如果导入没有问题,则粘贴堆栈跟踪。
<%@ page import="java.sql.*" %>
<% Class.forName("org.hsqldb.jdbcDriver"); %>
<HTML>
<HEAD>
<TITLE>Fetching Data From a Database</TITLE>
</HEAD>
<BODY>
<H1>Fetching Data From a Database</H1>
<TABLE BORDER="1">
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>City</TH>
<TH>State</TH>
<TH>Country</TH>
</TR>
<%
Connection connection = DriverManager.getConnection( "Url", "YourName", "Password");
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getString(2) %> </TD>
<TD> <%= resultset.getString(3) %> </TD>
<TD> <%= resultset.getString(4) %> </TD>
<TD> <%= resultset.getString(5) %> </TD>
</TR>
<%
}
%>
</TABLE>
</BODY>
</HTML>