天天看點

SSH分頁

pagemodel

package com.xy.util;

import java.util.list;

public class pagemodel

{

 private list datas;    // 資料集合

 private int total;     // 資料總數

 private int totalpage; // 資料可分的頁數

 public pagemodel()

 {

  super();

 }

 public pagemodel(list datas, int total, int totalpage)

  this.datas = datas;

  this.total = total;

  this.totalpage = totalpage;

 public list getdatas()

  return datas;

 public int gettotal()

  return total;

 public int gettotalpage()

  return totalpage;

 public void setdatas(list datas)

 public void settotal(int total)

 public void settotalpage(int totalpage)

}

istudentdao

package com.xy.dao;

import com.xy.pojo.student;

import com.xy.util.pagemodel;

public interface istudentdao

 // 分頁

 public pagemodel getallstudent(int start, int pagesize);

stuentdaoimpl

package com.xy.dao.impl;

import com.xy.dao.istudentdao;

public class stuentdaoimpl extends basedaohibernateimpl implements istudentdao

 public pagemodel getallstudent(int start, int pagesize)

  string sqlcount = "select count(*) from student";

  int count = ((long) this.getsession().createquery(sqlcount).uniqueresult()).intvalue();

  list lststu = this.getsession().

      createquery("from student s join fetch s.classes").setfirstresult(start).setmaxresults

      (pagesize).list();

  int totalpage = 0;

  if (count % pagesize == 0)

  {

   totalpage = (count / pagesize);

  }

  else

   totalpage = (count / pagesize) + 1;

  // 得到結果集

  pagemodel pm = new pagemodel();

  pm.settotal(count);

  pm.setdatas(lststu);

  pm.settotalpage(totalpage);

  return pm;

tomainaction

package com.xy.action;

import com.opensymphony.xwork2.actionsupport;

public class tomainaction extends actionsupport

 private int pageintnum;    // 用來計算的頁碼

 private string pagenum;    // 傳來的字元串參數

 private istudentdao sdao;

 private pagemodel stulist;

 private int totalpage;

 public string execute()

  if (null != pagenum && !"".equals(pagenum))

   pageintnum = integer.valueof(pagenum);

   int start = (pageintnum - 1) * 2;

   stulist = sdao.getallstudent(start, 2);

   pageintnum = 1;

   stulist = sdao.getallstudent(0, 2);

  return success;

 public int getpageintnum()

  return pageintnum;

 public string getpagenum()

  return pagenum;

 public istudentdao getsdao()

  return sdao;

 public pagemodel getstulist()

  return stulist;

 public void setpageintnum(int pageintnum)

  this.pageintnum = pageintnum;

 public void setpagenum(string pagenum)

  this.pagenum = pagenum;

 public void setsdao(istudentdao sdao)

  this.sdao = sdao;

 public void setstulist(pagemodel stulist)

  this.stulist = stulist;

main.jsp

<s:iterator value="stulist.datas" var="stu" status="index">

     <tr

      onmouseover="this.style.backgroundcolor='#dbe4ff';this.style.cursor='hand'"

      onmouseout="this.style.backgroundcolor='#ffffff';this.style.cursor='default'"

      ondblclick="modify(<s:property value="#stu.stuid"/>)">

      <td>

       <s:checkbox name="stuids" fieldvalue="%{#stu.stuid}" />

      </td>

       <s:property value="#stu.stuid" />

       <s:property value="#stu.stuname" />

       <s:if test="#stu.stusex==1">男</s:if>

       <s:else>女</s:else>

       <s:property value="#stu.stuage" />

       <s:date name="#stu.stubirth" format="yyyy年mm月dd日" />

        

       <s:property value="#stu.classes.classname" />

       <s:if test="#stu.stustatus==1">在職</s:if>

       <s:else>離職</s:else>

       <a href='stu_todel?id=<s:property value="#stu.stuid" />'>删除</a>

     </tr>

    </s:iterator>

   </table>

  </s:form>

<s:if test="data.totalpage>1">

   <s:if test="stulist.totalpage==pageintnum">

   <a href="tomainaction?pagenum=1">首頁</a> 

   <a href="tomainaction?pagenum=<s:property value="pageintnum-1"/>">上一頁</a> 

   </s:if>

   <s:elseif test="pageintnum==1">

   <a href="tomainaction?pagenum=<s:property value="pageintnum+1"/>">下一頁</a>

   <a href="tomainaction?pagenum=<s:property value="data.totalpage"/>">末頁</a>

   </s:elseif>

   <s:else>

   <a href="tomainaction?pagenum=<s:property value="pageintnum+1"/>">下一頁</a>

   </s:else>

   目前第<s:property value="pageintnum" />頁

   共<s:property value="data.totalpage" />頁

</s:if>

ssh的配置與一般項目無差別。

繼續閱讀