ssh框架分页

为了满足代码复用,使用时,只需要将下列jsp代码复制到列表下边,将beanName改成自己表对应的bean的类名就可以实现分页功能。

前台jsp:

<div>
                <a href="util/pages!pagetotal?page=1&beanName=UserInfo" >首页</a>
                <s:if test="page==1">
                    上一页
                </s:if>
                <s:else>
                    <a href="util/pages!pagetotal?page=${page-1 }&beanName=UserInfo" >上一页</a>
                </s:else>

                 <s:iterator begin="1" end="totalPages" var="p">
                        <s:if test="#p==page">
                            <s:property value="#p" />
                        </s:if>
                        <s:else>
                            <a href="util/pages!pagetotal?page=<s:property value="#p" />&beanName=UserInfo"><s:property value="#p" /></a>
                        </s:else>
                    </s:iterator>

                <s:if test="page==totalPages">
                    下一页
                </s:if>
                <s:else>
                    <a href="util/pages!pagetotal?page=${page+1 }&beanName=UserInfo" >下一页</a>
                </s:else>
                    <a href="util/pages!pagetotal?page=${totalPages }&beanName=UserInfo" >末页</a>
            </div>

struts.xml配置如下:

<package name="util" extends="struts-default" namespace="/util" >
        <action name="pages" class="com.zhongluo.zhaopinjiuye.util.PageViewAction"  >
                 <result name="success" >
                     /WEB-INF/personal/pages.jsp
                 </result>
        </action>
    </package>

PageViewAction代码如下:

public class PageViewAction extends BaseAction{
    
    private int page = 1;
    private int pageSize = 3;
    private List list;
    private int totalPages;
    private String beanName;
   
    public String pagetotal(){
        WebApplicationContext cc = ContextLoader.getCurrentWebApplicationContext();
        PageService pageService = (PageService)cc.getBean("PageService");
        list =  pageService.FindAll(page, pageSize,beanName);
        totalPages = pageService.totalPages(pageSize,beanName);
        return"success";
    }
    //省略相关属性get、set方法
}

DAO代码如下:

public class PageDao extends BaseDao {
    
    private Session session = null;
    public List findAll(int page, int pageSize,String beanName) {
        String hql = "from "+beanName;
        session = getCurrentSession();
        Query query = session.createQuery(hql);
        query.setFirstResult((page - 1) * pageSize);
        query.setMaxResults(pageSize);
        return query.list();
    }

    public int getTotalPages(int pageSize,String beanName) {
        String hql = " select count(*) from "+beanName;
        session = getCurrentSession();
        Query query = session.createQuery(hql);
        List list = query.list();
        int totalRows = Integer.parseInt(list.get(0).toString());
        if (totalRows % pageSize == 0) {
            return totalRows / pageSize;
        } else {
            return totalRows / pageSize + 1;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值