华观科技
软件工匠,用心服务
自定义分页实现方法(java+ jsp)
更新日期: 2016年08月29日 07:07   来源: 本站   作者: 小城故事   阅读: 1402

如果SqlDataProvider不能满足分页实现的需求,可以使用下面的方法来定制

1、java示例代码

public List<Row> getPage(String whereClause) throws DaoException {
	int pageNum = context.getIntParameter("pageNum", 1);
	PagingBuilder pd = new PagingBuilder();
	pd.setTableName("dm_customer");
	pd.setPageSize(context.getIntParameter("pageSize", 15));
	pd.setPageNum(pageNum);
	pd.setWhereClause(whereClause);
	String sql = pd.build();

	if (pageNum == 1) {
		context.setRequestAttribute("total",
				DBUtils.count("select count(*) from dm_customer where 1=1 " + whereClause));
	}

	return new Query(sql).listAll();
}

2、jsp示例代码

<f:WhereClause var="wc">
	<f:Like columnName="name" value="${param.keyword}" />
</f:WhereClause>
<f:BeanInvoker varResult="rs" method="getPage" name="dmPagingBean">
	<f:Argument value="${wc}" />
</f:BeanInvoker>
<f:GridView items="${rs}">
	<f:DataColumn dataField="name" headerText="客户名称" width="300" />
	<f:DataColumn dataField="address" headerText="地址" width="250" />
	<f:DataColumn dataField="tel" headerText="联系电话" />
	<f:DataColumn dataField="fax" headerText="传真" />
	<f:DataColumn dataField="email" headerText="电子邮箱" />
</f:GridView>
<f:PageInfo total="${total}" />

温馨提示:PageInfo的total属性为新增属性,如果您的框架版本较旧,请使用FSR Dev更新一下依赖。

软件工匠  用心服务
联系方式
邮箱:farseersoft@163.com
地址:广州市天河区东莞庄一横路116号广东生产力大厦11层1101-1104
关注公众号
扫码访问微站