zoukankan      html  css  js  c++  java
  • spring分页

    1.Brand 商品品牌类

    public class Brand {
    	private Integer id;
    	private String name;
    	private String description;
    	private String imgUrl;
    	private String webSite;
    	private Integer sort;
    	private Integer isDisplay;
    	private Integer pageNo=1; //页号
    	private Integer startRow; //开始行
    	private Integer pageSize = 10; //每页数
    	public String getAllUrl(){
    		return Constants.IMAGE_URL + imgUrl;
    	}
    	public Integer getstartRow() {
    		return startRow;
    	}
    	public void setstartRow(Integer startRow) {
    		this.startRow = startRow;
    	}
    	public Integer getPageSize() {
    		return pageSize;
    	}
    	public void setPageSize(Integer pageSize) {
    		this.startRow = (pageNo-1)* pageSize; //计算一次开始行
    		this.pageSize = pageSize;
    	}
    	public Integer getPageNo() {
    		return pageNo;
    	}
    	public void setPageNo(Integer pageNo) {
    		this.startRow = (pageNo-1)* pageSize; //计算一次开始行
    		this.pageNo = pageNo;
    	}
    	public Integer getId() {
    		return id;
    	}
    	public void setId(Integer id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getDescription() {
    		return description;
    	}
    	public void setDescription(String description) {
    		this.description = description;
    	}
    	public String getImgUrl() {
    		return imgUrl;
    	}
    	public void setImgUrl(String imgUrl) {
    		this.imgUrl = imgUrl;
    	}
    	public String getWebSite() {
    		return webSite;
    	}
    	public void setWebSite(String webSite) {
    		this.webSite = webSite;
    	}
    	public Integer getSort() {
    		return sort;
    	}
    	public void setSort(Integer sort) {
    		this.sort = sort;
    	}
    	public Integer getIsDisplay() {
    		return isDisplay;
    	}
    	public void setIsDisplay(Integer isDisplay) {
    		this.isDisplay = isDisplay;
    	}
    	@Override
    	public String toString() {
    		return "Brand [id=" + id + ", name=" + name + ", description=" + description + ", imgUrl=" + imgUrl
    				+ ", webSite=" + webSite + ", sort=" + sort + ", isDisplay=" + isDisplay + "]";
    	}
    
    }
    

    2.dao层

    public interface BrandDao {
         public List<Brand> getBrandListWithPage(Brand brand); //得到满足条件的所有品牌条目
         public int getBrandCount();//获取总记录数
    }
    

    3.service层

    public interface BrandService {
        public Pagination getBrandListWithPage(Brand brand);
        public void addBrand(Brand brand); 
    }
    

      

    @Service
    @Transactional
    public class BrandServiceImpl implements BrandService{
        @Resource
         private BrandDao brandDao;
    	@Transactional(readOnly = true)
    	public Pagination getBrandListWithPage(Brand brand){
    		// 1.起始页  2.每页记录数 3.总记录数
    		Pagination pagination = new Pagination(brand.getPageNo(),brand.getPageSize(),brandDao.getBrandCount());
    		pagination.setList(brandDao.getBrandListWithPage(brand));
    		return pagination;
    	}
    }
    

    4.controller层

    @Controller
    public class BrandController {
         @Autowired
         private BrandService brandService;
    	@RequestMapping(value ="/brand/list.do")
    	public String list(String name, Integer isDisplay, Integer pageNo ,ModelMap model){
    		StringBuilder params = new StringBuilder();
    		Brand brand = new Brand();
    		if(StringUtils.isNotBlank(name)){  //="" 和" "都为空
    			brand.setName(name);
    			params.append("name=").append(name);
    		}
    		if(isDisplay!=null){
    		    params.append("&").append("isDisplay=").append(isDisplay);	
    			brand.setIsDisplay(isDisplay);
    		}else{
    		    params.append("&").append("isDisplay=").append(1);	
    		    brand.setIsDisplay(1);
    		}
    		brand.setPageSize(5);
    		//如果页号是null或小于1 则重置为1
    		brand.setPageNo(Pagination.cpn(pageNo));
    		Pagination pagination = brandService.getBrandListWithPage(brand);
    		//分页展示: /brand/list.do?name=瑜伽树&isDisplay=1&pageNo=2
    		String url = "/brand/list.do";
    		pagination.pageView(url, params.toString());
    	    model.addAttribute("pagination",pagination);	//本质还是request.setAttribute();
    	    model.addAttribute("name",name);
    	    model.addAttribute("isDisplay",isDisplay);
    		return "brand/list";
    		//参数		
    	}
    }
    

    5.jsp页面

    <table cellspacing="1" cellpadding="0" border="0" width="100%" class="pn-ltable">
    	<thead class="pn-lthead">
    		<tr>
    			<th width="20"><input type="checkbox" onclick="checkBox('ids',this.checked)"/></th>
    			<th>品牌ID</th>
    			<th>品牌名称</th>
    			<th>品牌图片</th>
    			<th>品牌描述</th>
    			<th>排序</th>
    			<th>是否可用</th>
    			<th>操作选项</th>
    		</tr>
    	</thead>
    	<tbody class="pn-ltbody">
    		<c:forEach items="${pagination.list }" var="entry">
    			<tr bgcolor="#ffffff" onmouseout="this.bgColor='#ffffff'" onmouseover="this.bgColor='#eeeeee'">
    				<td><input type="checkbox" value="${entry.id }" name="ids"/></td>
    				<td align="center">${entry.id }</td>
    				<td align="center">${entry.name }</td>
    				<td align="center"><img width="40" height="40" src="${entry.allUrl}"/></td>
    				<td align="center">${entry.description }</td>
    				<td align="center">${entry.sort }</td>
    				<td align="center"><c:if test="${entry.isDisplay == 1 }">是</c:if><c:if test="${entry.isDisplay == 0 }">不是</c:if></td>
    				<td align="center">
    				<a class="pn-opt" href="#">修改</a> | <a class="pn-opt"  href="/brand/delete.do?id=${entry.id }&name=${name}&isDisplay=${isDisplay}">删除</a>
    				</td>
    			</tr>
    		</c:forEach>
    	
    	</tbody>
    </table>
    <div class="page pb15">
    	<span class="r inb_a page_b">
    		<c:forEach items="${pagination.pageView }" var="page">
    			${page }
    		</c:forEach>
    	</span>
    </div>
    

    6.xml文件

        <select id="getBrandListWithPage" parameterType="Brand" resultMap="brand">
            select id , name ,description,img_url,sort,is_display
            from bbs_brand
            <where>
                <if test="isDisplay != null">
                    is_display = #{isDisplay}
                </if>
                <if test="name != null">
                    and name = #{name} <!-- 查询所有品牌时为空 -->
                </if>
            </where>
            order by id desc
            limit #{startRow},#{pageSize}
        </select>

    显示结果:

      

  • 相关阅读:
    NYOJ228 士兵杀敌(五)
    NYOJ236 彩色棒 字典树 + 并查集 + 欧拉路
    给大家推荐一个用电脑拨打普通电话的软件skype
    转:甲骨文将以74亿美元收购太阳微系统公司
    花生壳原理求解
    利用IHttpModule及Session_End事件进行在线会员统计遇到的问题
    我的开发环境介绍及一个 Expression Bland 画图形的例子
    WF (Windows Workflow Foundation) 工作流学习(二)一个Asp.Net 与 顺序工作流 结合的例子
    WPF 、WinFrom 调用顺序工作流的登陆窗口例子
    Expression Bland 入门视频(三) 菜单、项目面板及工作区介绍
  • 原文地址:https://www.cnblogs.com/menbo/p/9777407.html
Copyright © 2011-2022 走看看