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日" />
&nbsp;
<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>&nbsp;
<a href="tomainaction?pagenum=<s:property value="pageintnum-1"/>">上一页</a>&nbsp;
</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的配置与一般项目无区别。