当前位置: 代码迷 >> Java Web开发 >> 求大神进入帮帮忙,关于Java分页技术
  详细解决方案

求大神进入帮帮忙,关于Java分页技术

热度:149   发布时间:2016-04-13 22:30:27.0
求大神进来帮帮忙,关于Java分页技术
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
 HttpSession session=request.getSession(true);
 LoginBean log=(LoginBean)session.getAttribute("login");
   if(log==null){
   response.sendRedirect("login.html");
   }else{
   queryclscore(request,response);
   }
}
private void queryclscore(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
int page=0;
int size=0;
Vector<ScoreBean> v=new Vector<ScoreBean>();
HttpSession session=request.getSession(true);
LoginBean log=(LoginBean)session.getAttribute("login");
String Username=log.getUsername();
String clcore=request.getParameter("clcore");
   try{
   CommDB cd=new CommDB();
        Connection con=cd.getCon();
           Statement stmt=con.createStatement(); 
           String sql="select * from creditable where Classes='"+clcore+"'";
           ResultSet re=stmt.executeQuery(sql);
           while(re.next()==true){
           re.last();
           int backsize=re.getRow();
            ScoreBean scb=new ScoreBean();
            scb.setClasses(re.getInt("Classes"));
            scb.setName(handleString(re.getString("Name")));
            scb.setNoclass(re.getInt("Noclass"));
            scb.setStudent_id(re.getString("Student_id"));
            scb.setCheck_attendance(re.getInt("Check_attendance"));
            scb.setJoin_party(re.getInt("Join_party"));
            scb.setSports_competitions(re.getInt("Sports_competitions"));
            scb.setArt_competition(re.getInt("Art_competition"));
            scb.setMilitary_training(re.getInt("Military_training"));
            scb.setWork(re.getInt("Work"));
            scb.setEssay_submission(re.getInt("Essay_submission"));
            scb.setAhead_impression(re.getInt("Ahead_impression"));
            scb.setOrganizations(re.getInt("Organizations"));
            scb.setStudent_cadres(re.getInt("Student_cadres"));
            scb.setAcademic_performance(re.getInt("Academic_performance"));
            scb.setSpecial_L(re.getInt("Special_L"));
            scb.setDevelopment_training(re.getInt("Development_training"));
            scb.setLove_school(re.getInt("Love_school"));
            scb.setAll_certificates(re.getInt("All_certificates"));
            scb.setNotice_school(re.getInt("Notice_school"));
            scb.setNetwork_training(re.getInt("Network_training"));
            scb.setComputer(re.getInt("Computer"));
            scb.setHskills_certificate(re.getInt("Hskills_certificate"));
            scb.setProfessionalskill_certificate(re.getInt("Professionalskill_certificate"));
            scb.setCompany_training(re.getInt("Company_training"));
            scb.setInternship(re.getInt("Internship"));
            scb.setEntrepreneurship_school(re.getInt("Entrepreneurship_school"));
            scb.setTotal_score(re.getInt("Total_score"));
            v.addElement(scb);
            request.setAttribute("vlist", v);
            if(backsize % 5 ==0){
    size=(backsize/5);
    }else{
    size=(backsize/5)+1;
    }
    if(request.getParameter("page")==null){
    page=size;
    }else{
    page=Integer.parseInt(request.getParameter("page"));
    }
    if(page<=0){
    page=0;
    }
    if(page>size){
    page=size;
    }
    request.setAttribute("page", page);
    request.setAttribute("size", size);
    System.out.println(request.getAttribute("page"));
    System.out.println(request.getAttribute("size"));
           }
           con.close();
   }catch(Exception e){
   e.printStackTrace();
   }
 RequestDispatcher dispatcher=request.getRequestDispatcher("Showquerycl.jsp");
 dispatcher.forward(request, response);
}


这个是我用mvc模式写的servlet,我在queryclscore查询出来再分页,原来查询出来有好多条记录,但我加了分页代码后就只能出来一条记录,这是怎么回事?求大神帮忙啊
------解决思路----------------------
String sql="select * from creditable where Classes='"+clcore+"'"  limit 0,5  // 查询前5条记录
String sql="select * from creditable where Classes='"+clcore+"'" limit 5,10 // 查询5-10条记录

String sql="select * from creditable where Classes='"+clcore+"'" limit num1, num2 // 根据页面显示条数自己调整吧
------解决思路----------------------
public List<Use> getAll(int a) {
Page p = new Page();
if (a == 0) {
a = 1;
}
p.setPage(a);
List<Use> uses = new ArrayList<Use>();
try {
conn = DataSourceFactories.getConnection();
ps = conn
.prepareStatement("select * from base_configvalue limit ?,?");
ps.setInt(1, p.getBegin());
ps.setInt(2, p.getPageSize());
rs = ps.executeQuery();
while (rs.next()) {
Use u = new Use(rs.getString("id"), rs.getString("content"),
rs.getString("memo"));
uses.add(u);
}
和我写的功能差不多 我已经实现了,你看看吧。
public List<Use> getAll(int a) {
Page p = new Page();
if (a == 0) {
a = 1;
}
p.setPage(a);
List<Use> uses = new ArrayList<Use>();
try {
conn = DataSourceFactories.getConnection();
ps = conn
.prepareStatement("select * from base_configvalue limit ?,?");
ps.setInt(1, p.getBegin());
ps.setInt(2, p.getPageSize());
rs = ps.executeQuery();
while (rs.next()) {
Use u = new Use(rs.getString("id"), rs.getString("content"),
rs.getString("memo"));
uses.add(u);

}
------解决思路----------------------
1162798146
  相关解决方案