分页对象

来源:互联网 发布:网页js文件 编辑:程序博客网 时间:2024/06/14 06:57

分页对象

1.jar包和对应的源码请参考如下URL

http://download.csdn.net/download/hxb_hexiaobo/9944599

2.用上面分页jar包实现分页对象

//查询分页对象---service层
public Pagination selectPaginationByQuery(String name,Integer isDisplay,Integer pageNo){
BrandQuery brandQuery = new BrandQuery();
//当前页
brandQuery.setPageNo(Pagination.cpn(pageNo));
//每页数
brandQuery.setPageSize(2);

StringBuilder params = new StringBuilder();

//条件
if(null != name){
brandQuery.setName(name);
params.append("name=").append(name);
}
if(null != isDisplay){
brandQuery.setIsDisplay(isDisplay);
params.append("&isDisplay=").append(isDisplay);
}else{
brandQuery.setIsDisplay(1);
params.append("&isDisplay=").append(1);
}

Pagination pagination = new Pagination(
brandQuery.getPageNo(),
brandQuery.getPageSize(),
brandDao.selectCount(brandQuery)
);
//设置结果集
pagination.setList(brandDao.selectBrandListByQuery(brandQuery));
//分页展示
String url = "/brand/list.do";

pagination.pageView(url, params.toString());

return pagination;
}

3.control层

//查询
@RequestMapping(value = "/brand/list.do")
public String list(String name,Integer isDisplay,Integer pageNo,Model model){

Pagination pagination = brandService.selectPaginationByQuery(name, isDisplay, pageNo);
model.addAttribute("pagination", pagination);
model.addAttribute("name", name);
if(null != isDisplay){
model.addAttribute("isDisplay", isDisplay);
}else{
model.addAttribute("isDisplay", 1);
}

return "brand/list";
}

3.视图显示层

<tbody class="pn-ltbody">
<c:forEach items="${pagination.list }" var="brand">
<tr bgcolor="#ffffff" onmouseout="this.bgColor='#ffffff'" onmouseover="this.bgColor='#eeeeee'">
<td><input type="checkbox" value="${brand.id }" name="ids"/></td>
<td align="center">${brand.id }</td>
<td align="center">${brand.name }</td>
<td align="center"><img width="40" height="40" src="${brand.imgUrl }"/></td>
<td align="center"></td>
<td align="center">99</td>
<td align="center">
<c:if test="${brand.isDisplay == 1 }">是</c:if>
<c:if test="${brand.isDisplay == 0 }">否</c:if>
</td>
<td align="center">
<a class="pn-opt" href="/brand/toEdit.do?id=${brand.id }">修改</a> | <a class="pn-opt" onclick="if(!confirm('您确定删除吗?')) {return false;}" href="#">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</form>
<div class="page pb15">
<span class="r inb_a page_b">
<c:forEach items="${pagination.pageView }" var="page">
${page }
</c:forEach>
</span>
</div>
<div style="margin-top:15px;"><input class="del-button" type="button" value="删除" onclick="optDelete('${name}','${isDisplay }','${pagination.pageNo }');"/></div>
</div>

4.Dao层

//此时brandquery中的参数和brand的参数一样的,其中如果barndquery参数改变,对应的brand的也会改变,brand用于网页显示,

而brandquery主要用于DAO层查询

<select id="selectBrandListByQuery" parameterType="BrandQuery" resultMap="brand">
select id , name ,description,img_url,sort,is_display
from bbs_brand
<where>
<if test="name != null">
name like "%"#{name}"%"
</if>
<if test="isDisplay != null">
and is_display = #{isDisplay}
</if>
</where>  //用brandquery中2个参数来限定数据库的查询范围
<if test="startRow != null">
limit #{startRow},#{pageSize}
</if>

</select>


原创粉丝点击