下面是我SSH2集成的分页代码:Dao层的接口: * 分页查询
* @param hql 查询的条件
* @param offset 开始记录
* @param length 一次查询几条记录
* @return
*/
public List queryForPage(final String hql1,final int offset,final int length);
/** *//**
* 查询所有记录数
* @param hql 查询的条件
* @return 总记录数
*/
public int getAllRowCount(String hql1);实现DAO的类:/** *//**
* 分页查询
* @param hql 查询的条件
* @param offset 开始记录
* @param length 一次查询几条记录
* @return
*/
public List queryForPage(final String hql1,final int offset,final int length){
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,SQLException{
Query query = session.createQuery(hql1);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
return list;
}
});
return list;
}
/** *//**
* 查询所有记录数
* @return 总记录数
*/
public int getAllRowCount(String hql1){ return getHibernateTemplate().find(hql1).size();
}service层的接口:
/** *//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/ public PageBean queryForPage(int pageSize,int currentPage);实现service接口的类: /** *//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/
public PageBean queryForPage(int pageSize,int page){
String hql = "from ManagerForm where managerLevel !='1'"; //查询语句
int allRow = managerdao.getAllRowCount(hql); //总记录数
int totalPage = PageBean.countTotalPage(pageSize, allRow); //总页数
final int offset = PageBean.countOffset(pageSize, page); //当前页开始记录
final int length = pageSize; //每页记录数
final int currentPage = PageBean.countCurrentPage(page);
List<ManagerDao> list = managerdao.queryForPage(hql,offset, length); //"一页"的记录
//把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setPageSize(pageSize);
pageBean.setCurrentPage(currentPage);
pageBean.setAllRow(allRow);
pageBean.setTotalPage(totalPage);
pageBean.setList(list);
pageBean.init();
return pageBean;
}JSP页面:
</table> <table width="650" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="66583D">
<tr align="center">
<th width="35" height="20" class="word_white">编号</th>
<th width="77" class="word_white">姓名</th>
<th width="51" class="word_white">性别</th>
<th width="95" class="word_white">应聘职务</th>
<th width="95" class="word_white">学历</th>
<th width="81" class="word_white">工作经验</th>
<th width="178" class="word_white">操作</th>
</tr>
<s:iterator value="pageBean.list">
<s:hidden name="pageBean" id="isstocks" value="isstock"/>
<tr align="center" bgcolor="#ffffff">
<td height="25"><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="sex"/></td>
<td><s:property value="job"/></td>
<td><s:property value="teachSchool"/></td>
<td><s:property value="experience"/></td>
<td><a href="oneInviteJob!oneInviteJob.action?invitejobform.id=<s:property value="id"/>">详细查询</a>
<a href="javascript:deleteForm(<s:property value="id"/>)">删除</a>
<a href="">录用</a> </td>
</tr>
</s:iterator>
</table><br>
<table width="650">
<tr align="right">
<td><a href="inviteJob_insert.jsp">添加应聘人信息</a></td> <font size="3">共</font><s:property value="pageBean.allRow"/> <font size="3">条记录
共</font><s:property value="pageBean.totalPage"/> <font size="3">页
当前第</font><s:property value="pageBean.currentPage"/> <font size="3">页</font><br/>
<s:if test="%{pageBean.currentPage == 1}">
<font size="3"> 第一页 上一页</font>
</s:if>
<s:else>
<a href="queryInviteJob!queryInviteJob.action?page=1"> <font size="3">第一页</font></a>
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="%{pageBean.currentPage-1}"/>"> <font size="3">上一页</font></a>
</s:else>
<s:if test="%{pageBean.currentPage != pageBean.totalPage}">
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="%{pageBean.currentPage+1}"/>"><font size="3">下一页</font></a>
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="pageBean.totalPage"/>"><font size="3">最后一页</font></a>
</s:if>
<s:else>
<font size="3">下一页 最后一页</font>
</s:else></tr>
</table>怎么才能实现service类中的SQL语句是动态的...就是根据JSP页面传的信息改变SQL语句,
比如现在的是String hql = "from ManagerForm where managerLevel !='1'";查询权限不等于1的用户信息.
JSP页面有个连接..点击时候 这个SQL语句是String hql = "from ManagerForm where managerLevel =='1'";然后返回给页面,显示的是等于1用户的信息...那位大侠说下哈..谢谢...
* @param hql 查询的条件
* @param offset 开始记录
* @param length 一次查询几条记录
* @return
*/
public List queryForPage(final String hql1,final int offset,final int length);
/** *//**
* 查询所有记录数
* @param hql 查询的条件
* @return 总记录数
*/
public int getAllRowCount(String hql1);实现DAO的类:/** *//**
* 分页查询
* @param hql 查询的条件
* @param offset 开始记录
* @param length 一次查询几条记录
* @return
*/
public List queryForPage(final String hql1,final int offset,final int length){
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,SQLException{
Query query = session.createQuery(hql1);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
return list;
}
});
return list;
}
/** *//**
* 查询所有记录数
* @return 总记录数
*/
public int getAllRowCount(String hql1){ return getHibernateTemplate().find(hql1).size();
}service层的接口:
/** *//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/ public PageBean queryForPage(int pageSize,int currentPage);实现service接口的类: /** *//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/
public PageBean queryForPage(int pageSize,int page){
String hql = "from ManagerForm where managerLevel !='1'"; //查询语句
int allRow = managerdao.getAllRowCount(hql); //总记录数
int totalPage = PageBean.countTotalPage(pageSize, allRow); //总页数
final int offset = PageBean.countOffset(pageSize, page); //当前页开始记录
final int length = pageSize; //每页记录数
final int currentPage = PageBean.countCurrentPage(page);
List<ManagerDao> list = managerdao.queryForPage(hql,offset, length); //"一页"的记录
//把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setPageSize(pageSize);
pageBean.setCurrentPage(currentPage);
pageBean.setAllRow(allRow);
pageBean.setTotalPage(totalPage);
pageBean.setList(list);
pageBean.init();
return pageBean;
}JSP页面:
</table> <table width="650" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="66583D">
<tr align="center">
<th width="35" height="20" class="word_white">编号</th>
<th width="77" class="word_white">姓名</th>
<th width="51" class="word_white">性别</th>
<th width="95" class="word_white">应聘职务</th>
<th width="95" class="word_white">学历</th>
<th width="81" class="word_white">工作经验</th>
<th width="178" class="word_white">操作</th>
</tr>
<s:iterator value="pageBean.list">
<s:hidden name="pageBean" id="isstocks" value="isstock"/>
<tr align="center" bgcolor="#ffffff">
<td height="25"><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="sex"/></td>
<td><s:property value="job"/></td>
<td><s:property value="teachSchool"/></td>
<td><s:property value="experience"/></td>
<td><a href="oneInviteJob!oneInviteJob.action?invitejobform.id=<s:property value="id"/>">详细查询</a>
<a href="javascript:deleteForm(<s:property value="id"/>)">删除</a>
<a href="">录用</a> </td>
</tr>
</s:iterator>
</table><br>
<table width="650">
<tr align="right">
<td><a href="inviteJob_insert.jsp">添加应聘人信息</a></td> <font size="3">共</font><s:property value="pageBean.allRow"/> <font size="3">条记录
共</font><s:property value="pageBean.totalPage"/> <font size="3">页
当前第</font><s:property value="pageBean.currentPage"/> <font size="3">页</font><br/>
<s:if test="%{pageBean.currentPage == 1}">
<font size="3"> 第一页 上一页</font>
</s:if>
<s:else>
<a href="queryInviteJob!queryInviteJob.action?page=1"> <font size="3">第一页</font></a>
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="%{pageBean.currentPage-1}"/>"> <font size="3">上一页</font></a>
</s:else>
<s:if test="%{pageBean.currentPage != pageBean.totalPage}">
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="%{pageBean.currentPage+1}"/>"><font size="3">下一页</font></a>
<a href="queryInviteJob!queryInviteJob.action?page=<s:property value="pageBean.totalPage"/>"><font size="3">最后一页</font></a>
</s:if>
<s:else>
<font size="3">下一页 最后一页</font>
</s:else></tr>
</table>怎么才能实现service类中的SQL语句是动态的...就是根据JSP页面传的信息改变SQL语句,
比如现在的是String hql = "from ManagerForm where managerLevel !='1'";查询权限不等于1的用户信息.
JSP页面有个连接..点击时候 这个SQL语句是String hql = "from ManagerForm where managerLevel =='1'";然后返回给页面,显示的是等于1用户的信息...那位大侠说下哈..谢谢...
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货