list分页

page的model类:

public class Page {
    private Integer currentPage;//当前页
    private int pageSize;//每页显示记录条数
    private int totalPage;//总页数
    private List<?> dataList;//每页显示的数据
    private int star;//开始数据

    public Integer getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(Integer currentPage) {
        this.currentPage = currentPage;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public List<?> getDataList() {
        return dataList;
    }
    public void setDataList(List<?> dataList) {
        this.dataList = dataList;
    }
    public int getStar() {
        return star;
    }
    public void setStar(int star) {
        this.star = star;
    }
}

控制层:

@RequestMapping("fenye.do")
public String fen(Page page,HttpServletRequest request){

try {
    //查询出的list数据
    List<Data> showdata=loginService.selectyichall();
    //刚开始的页面为第一页
    if (page.getCurrentPage() == null){
        page.setCurrentPage(1);
    } else {
        page.setCurrentPage(page.getCurrentPage());
    }
    //设置每页数据为十条
    page.setPageSize(10);
    //每页的开始数
    page.setStar((page.getCurrentPage() - 1) * page.getPageSize());
    //list的大小
    int count = showdata.size();
    //设置总页数
    page.setTotalPage(count % 10 == 0 ? count / 10 : count / 10 + 1);
    //对list进行截取
    page.setDataList(showdata.subList(page.getStar(),count-page.getStar()>page.getPageSize()?page.getStar()+page.getPageSize():count));
    //设置作用域
    request.setAttribute("paging", page);               
    return "add/show.jsp";

} catch (Exception e) {
    // TODO Auto-generated catch block      
    e.printStackTrace();
    return "mistake.jsp";
}

}

jsp页面:

<script type="text/javascript" language="javascript">
function goPage(page){
location.href="fenye.do?currentPage="+page;
}
</script>


<div>
<table width="100%" border="0" align="center" cellspacing="1" >
<c:forEach items="${paging.dataList }" var="upl">      
    <tr>
    <td align="center">${upl.name1 }</td>
    <td align="center">${upl.name2 }</td>
    <td align="center">${upl.name3 }</td>      
    </tr>
    </c:forEach>    
</table>
</div>


 <div style="text-align:center; margin-top:40px" id="venderfen">
        当前第${paging.currentPage }页/共${paging.totalPage }页
        <c:choose>
            <c:when test="${paging.currentPage==1&&paging.totalPage==0}">

            </c:when>
            <c:when test="${paging.currentPage==1&&paging.totalPage==1}">

            </c:when>
            <c:when test="${paging.currentPage==2&&paging.totalPage==2}">
                <input type="button" value="首页" onclick="goPage(1)" />
                <input type="button" value="上一页"
                    onclick="goPage(${paging.currentPage-1})" />
            </c:when>
            <c:when test="${paging.currentPage==1 }">
            <input type="button" value="上一页" >
                <input type="button" value="下一页"
                    onclick="goPage(${paging.currentPage+1})" />
                <input type="button" value="末页"
                    onclick="goPage(${paging.totalPage})" />
            </c:when>
            <c:when test="${paging.currentPage==paging.totalPage }">
                <input type="button" value="首页" onclick="goPage(1)" />
                <input type="button" value="上一页"
                    onclick="goPage(${paging.currentPage-1})" />
            </c:when>
            <c:otherwise>
                <input type="button" value="首页" onclick="goPage(1)" />
                <input type="button" value="上一页"
                    onclick="goPage(${paging.currentPage-1})" />
                <input type="button" value="下一页"
                    onclick="goPage(${paging.currentPage+1})" />
                <input type="button" value="末页"
                    onclick="goPage(${paging.totalPage})" />
            </c:otherwise>
        </c:choose>
    </div> 

 

posted @ 2018-06-22 12:28  jassy  阅读(158)  评论(0编辑  收藏  举报