public List<Object> pageList(final String condition, page page, final String oby ,final String o) {
if(page==null){
page = new page();
page.setPageNow(1);
}
final int firstResult = page.getMaxResults()*(page.getPageNow()-1);
final int maxResult = page.getMaxResults();
Object ob= hibernateTemplate.execute(new HibernateCallback(){ public Object doInHibernate(Session session) {

Query query  = session.createQuery("from User u "+condition+" order by "+ oby + " "+ o)
.setFirstResult(firstResult).setMaxResults(maxResult); return  query.list();
}

});
return (List<Object>)ob;
}

解决方案 »

  1.   

    page类
    public class page{
    private int pageNow ;
    private int pageCount ;//总共多少页
    private int nums ;
    private int maxResults=10;        public void setPageNow(int pageNow){.....
    }public page getPage(page page){
         int l = (Integer)session.createQuery("select count(*) from User ").setFirstResult(0).setMaxResults(1).uniqueResult();;
        if(l%page.getMaxResult()==0){
           page.pageCount(l/page.getMaxResult());
        }else{page.pageCount(l/page.getMaxResult()+1);    }
         page.setNums(l);
         return page;
    }
    上面是dao里面的,你可以在action里面调用list()和getPage(page page)这两个方法,然后将获得的List 和page 传给跳转的页面
    分页查询出的记录:
    <s:iterator id="f" value="%{ulist }" >
    <tr>
    <td ><s:property value="#f.name" /></td>

    <td>
    <s:if test="#f.sex==0">保密</s:if>
    <s:elseif test="#f.sex==1">男</s:elseif>
    <s:elseif test="#f.sex==2">女</s:elseif>
    </td>
    <td><s:property value="#f.integral" /></td>
    </tr>
    </s:iterator>这里是分页的:
    <s:if test="%{page.nums<=0}">没有用户</s:if>
    <s:else>  
    总共有 <s:property value="%{page.nums}" /> 条记录
    <s:if test="%{page.pageNow>1}">
    &nbsp;<a href="User_list?condition=<s:property value='%{condition}'/>&page.pageNow=<s:property value='%{page.pageNow-1}'/>">上一页</a>
    </s:if>
    <% 
    int i=1;
    %> 
    <s:iterator begin="1" end="%{page.pageCount}">
    &nbsp;<a href="User_list?condition=<s:property value='%{condition}'/>&page.pageNow=<s:property value='%{#request.i}'/>"><%=i++ %></a>
    </s:iterator>
    <s:if test="%{page.pageNow < page.pageCount}"> 
    &nbsp;<a href="User_list?condition=<s:property value='%{condition}'/>&page.pageNow=<s:property value='%{page.pageNow+1}'/>">下一页</a>
    </s:if>
    </s:else>
    有点乱,但是大致就是这样了。希望能对你有帮助。