使用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

我试图从hsqldb中检索数据,并以表的形式向用户显示。我使用while循环来查看是否有更多的数据要显示,但是jsp页面在while行上抛出了编译器错误!请帮忙

以下是我的jsp代码:

<%
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>