这是ListStudent.java类,只实现了分页,如何实现查询呢?多谢
package com.newstong.service;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspWriter;
import com.newstong.dao.DAOFactory;
import com.newstong.dao.StudentDAO;
import com.newstong.domain.Userlist;
public class ListStudent {
private StudentDAO stuDao;
public StudentDAO getStudentDAO() {
return DAOFactory.getInstance().createStudentDAO();
} // 异常还没有处理
public void list(HttpServletRequest request, JspWriter out)
throws Exception {
String tmp = (String) request.getParameter("page");
if (tmp != null) {
listpage(request, out, Integer.parseInt(tmp));
} else {
listpage(request, out, 1);
}
} public void listpage(HttpServletRequest request, JspWriter out, int page)
throws Exception {
          String name = "", id = "", password = "", jiguan = "", dep = "", sex = "", tel = "", mail = "",  = "";
stuDao = this.getStudentDAO();
List list = stuDao.getStudent(); if (list == null) {
out.print("尚无学生信息");
return;
} int total = list.size();
int count = 0;
Iterator it = list.iterator();
Userlist stu;
// User user;
// OrderItem item;
// Flight flight;
int maxPage=0;
if (total % 5==0){
       maxPage = total/5;
    }else{
       maxPage =total/5 + 1;        
    }
while (count < (page - 1) * 5 && it.hasNext()) {
it.next();
count++;
} count = 0;

while (it.hasNext() && count < 5) {
stu = (Userlist) it.next(); id = String.valueOf(stu.getId());
name = stu.getUsername();
password = stu.getUserpwd();
jiguan = stu.getUsername();
dep = stu.getUsername();
sex = stu.getUsername();
//if( stu.getMark() != null )
 = stu.getUsername();
tel = stu.getUsername();
if (tel == null || tel.equals(""))
tel = "无";
mail = stu.getUsername();
if (mail == null || mail.equals(""))
mail = "无"; out.print("<tr><td>" + id + "</td><td>" + name + "</td><td>"
+ password + "</td><td>" + jiguan + "</td><td>" + dep
+ "</td><td>" + sex + "</td><td>" +  + "</td><td>"
+ tel + "</td><td>" + mail + "</td>");
out.print("<td><a href=deleteStudent.do?student_id="
+ stu.getId() + ">删除</a></td><td>");
out.print("<a href=updatestu.jsp?student_id="
+ stu.getId() + ">编辑</a></td></tr>"); count++;
}
out.print("<tr><td colspan=11 align=center>");
out.print("<table width=100% border=0 cellspacing=0><tr>");
if ((page - 1) > 0)
out.print("<td width=50% colspan='11'> <a href=getStudent.jsp?page=1>首页</a> &nbsp;&nbsp;&nbsp;&nbsp;" +
  "<a href=getStudent.jsp?page="+ (page - 1) + ">上一页</a> &nbsp;&nbsp;&nbsp;&nbsp;");
else
out.print("<td width=50% colspan='11'>首页&nbsp;&nbsp;&nbsp;&nbsp;上一页&nbsp;&nbsp;&nbsp;&nbsp;</td>");
if ((page - 1) < (total / 5))
out.print("<td width=50% colspan='11'><a href=getStudent.jsp?page="
+ (page + 1) + ">&nbsp;&nbsp;&nbsp;&nbsp;下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;" +
"<a href=getStudent.jsp?page="+ maxPage+ ">&nbsp;&nbsp;&nbsp;&nbsp;尾页</a></td>");
else
out.print("<td width=50%  colspan='11'>&nbsp;&nbsp;&nbsp;&nbsp;下一页&nbsp;&nbsp;&nbsp;&nbsp; 尾页</td>");
out.print("</tr></table></td></tr>");
out.print("</table>");
}}

解决方案 »

  1.   

    这是ListStudent.java类,只实现了分页,如何实现查询呢?多谢
    package com.newstong.service;
    import java.util.Iterator;
    import java.util.List;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.jsp.JspWriter;
    import com.newstong.dao.DAOFactory;
    import com.newstong.dao.StudentDAO;
    import com.newstong.domain.Userlist;
    public class ListStudent {
    private StudentDAO stuDao;
    public StudentDAO getStudentDAO() {
    return DAOFactory.getInstance().createStudentDAO();
    } // 异常还没有处理
    public void list(HttpServletRequest request, JspWriter out)
    throws Exception {
    String tmp = (String) request.getParameter("page");
    if (tmp != null) {
    listpage(request, out, Integer.parseInt(tmp));
    } else {
    listpage(request, out, 1);
    }
    } public void listpage(HttpServletRequest request, JspWriter out, int page)
    throws Exception {
              String name = "", id = "", password = "", jiguan = "", dep = "", sex = "", tel = "", mail = "",  = "";
    stuDao = this.getStudentDAO();
    List list = stuDao.getStudent(); if (list == null) {
    out.print("尚无学生信息");
    return;
    } int total = list.size();
    int count = 0;
    Iterator it = list.iterator();
    Userlist stu;
    // User user;
    // OrderItem item;
    // Flight flight;
    int maxPage=0;
    if (total % 5==0){
           maxPage = total/5;
        }else{
           maxPage =total/5 + 1;        
        }
    while (count < (page - 1) * 5 && it.hasNext()) {
    it.next();
    count++;
    } count = 0;

    while (it.hasNext() && count < 5) {
    stu = (Userlist) it.next(); id = String.valueOf(stu.getId());
    name = stu.getUsername();
    password = stu.getUserpwd();
    jiguan = stu.getUsername();
    dep = stu.getUsername();
    sex = stu.getUsername();
    //if( stu.getMark() != null )
     = stu.getUsername();
    tel = stu.getUsername();
    if (tel == null || tel.equals(""))
    tel = "无";
    mail = stu.getUsername();
    if (mail == null || mail.equals(""))
    mail = "无"; out.print("<tr><td>" + id + "</td><td>" + name + "</td><td>"
    + password + "</td><td>" + jiguan + "</td><td>" + dep
    + "</td><td>" + sex + "</td><td>" +  + "</td><td>"
    + tel + "</td><td>" + mail + "</td>");
    out.print("<td><a href=deleteStudent.do?student_id="
    + stu.getId() + ">删除</a></td><td>");
    out.print("<a href=updatestu.jsp?student_id="
    + stu.getId() + ">编辑</a></td></tr>"); count++;
    }
    out.print("<tr><td colspan=11 align=center>");
    out.print("<table width=100% border=0 cellspacing=0><tr>");
    if ((page - 1) > 0)
    out.print("<td width=50% colspan='11'> <a href=getStudent.jsp?page=1>首页  </a>"+"<a href=getStudent.jsp?page="+ (page - 1) + ">上一页</a> &nbsp;&nbsp;&nbsp;&nbsp;");
    else
    out.print("<td width=50% colspan='11'>首页&nbsp;&nbsp;&nbsp;&nbsp;上一页&nbsp;&nbsp;&nbsp;&nbsp;</td>");
            if ((page - 1) < (total / 5))
    out.print("<td width=50% colspan='11'><a href=getStudent.jsp?page="
    + (page + 1) + ">&nbsp;&nbsp;&nbsp;&nbsp;下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;" +"<a href=getStudent.jsp?page="+ maxPage+ ">&nbsp;&nbsp;&nbsp;&nbsp;尾页</a></td>");
    else
    out.print("<td width=50%  colspan='11'>&nbsp;&nbsp;&nbsp;&nbsp;下一页&nbsp;&nbsp;&nbsp;&nbsp; 尾页</td>");
    out.print("</tr></table></td></tr>");
    out.print("</table>");
    }}
      

  2.   

    hibernate中做分页没有这么麻烦的!直接Query query=session.createQuery(hql);
    query.setFirstResult(pagenum*5);  //pagenum是每页的显示多少条记录
    query.setMaxResults(pagenum*5+5);
    list=query.list();
      

  3.   

    楼上的正解,配上display tag就更强了