当来自数据库的数据超过jsp中的某个指定限制时,我想在下一页显示一些结果

时间:2011-04-02 15:14:52

标签: jsp

我正在显示数据库中的数据,以显示用户发布的主题。我只想在一个页面上显示十个主题。一旦有11个主题到来。创建了下一页按钮。任何人都可以建议我这样做的方法在JSP中。

   while(iterator.hasNext())
   {
    displaytopicbean bean=iterator.next();
      utitle=bean.getTitle();
      utid=bean.getTid();
      uname=bean.getName();

      count++;

          out.print("<td>");
          out.print("<img src='test.png' width='48' height='48' alt='test'/>");
          out.print("</td>");
          out.print("<td>");
          out.print(utitle);
          out.print("</td>");
          out.print("<td>");  
              out.println("<a href=\"");
              out.println(response.encodeURL ("viewusertopic?id="+utid+"&name="+uname+""));
              out.println("\">View</a>");
          out.print("<td width='10%'>");
          %>
            &nbsp;
          <%
          out.print("</td>");
          i++;

          if(count>1)
          {
              count=0;
              out.println("</tr>");
              out.println("<tr>");
              out.print("<td>");
          %>
             &nbsp;
          <% 
             out.print("</td>");
             out.print("<td>");
          %>
             &nbsp;
          <%
             out.print("</td>");

             out.println("</tr>");
             out.println("<tr>");

             continue;
          }
   }

 %>

1 个答案:

答案 0 :(得分:0)

检查您当前是否在第10个元素,并且还有更多元素。如果为true,则打印下一个按钮并发出break;以打开while循环。

if (count == 10 && iterator.hasNext()) {
    // Print next button.
    break;
}

对具体问题

无关,这不是最佳方法。您应该从数据库中查询两件事:1)行数和2)只有最终用户真正需要才能看到的10个项目。以这种方式将整个数据库表拖入Java的内存是非常低效的。对于借助JDBC的基于SQL的分页,请检查this question。此外,在JSP中直接执行此操作也不是最好的方法。有关提示,请查看this answer