2015-09-03 2 views
0

Я пытаюсь получить данные из hsqldb и показать их пользователю в виде таблицы. Я использую цикл while, чтобы увидеть, есть ли больше данных для отображения, но jsp-страница бросает ошибку компилятора на строку, имеющую время! пожалуйста помоги.Динамически создавать строки в 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> 
+1

проверьте с помощью операторов импорта java и, если нет проблем с импортом, вставьте трассировку стека. – Srinu

ответ

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

Подготовленные заявления в файле Jsp синтаксически легальным. Но не используйте их. Используйте POJO для написания Java-кода. Для этой же цели можно использовать jstl. Если вы новичок, то использование jstl здесь является важным обучением здесь.

Смежные вопросы