修改方法,在页面上加上查询条件,提交到action
page 原有的,表示页数
添加:
rows 表示每页行数
sort 表示查询的列明
order 表示查询方式 desc asc
[这四个参数和easyUI框架里,使用datagrid分页显示文章排序,使用的参数一样,这样修改是为后面改为用datagird管理做准备,后面不用改方法了]
jsp:
----按照<select name="sort" >
<option value="title" >文章标题</option>
<option value="time" >发表时间</option>
<option value="readNum" >阅读量</option>
<option value="isEssence" >是否热文</option>
</select>,<select name="order">
<option value="asc" >升序</option>
<option value="desc" >降序</option>
</select>排序,每页显示<select name="rows">
<option value="4" >4</option>
<option value="6" >6</option>
<option value="8" >8</option>
<option value="10" >10</option>
<option value="12" >12</option>
<option value="14" >14</option>
<option value="16" >16</option>
<option value="18" >18</option>
<option value="20" >20</option>
</select>条记录。<input type="button" value="点击查找" οnclick="submit();" />
后台方法修改:
@Override
public PageBean<Article> queryArticleForPageByTitle(int pageSize, int page,String sort, String order,String title) {
// ��ȡ���Եļ�¼��
int allRow = this.articleNumsByTitle(title);
// �����ҳ��
int totalPage = PageBean.countTotalPage(pageSize, allRow);
// ���㵱ǰҳ
final int currentPage = PageBean.coutCurrentPage(page);
// ��ǰҪ��ʾ����ʼ��
final int offset = PageBean.countOffset(pageSize, currentPage);
// ��ȡҪ��ʾ��ҳ����Ϣ offsetҪ��ʾҳ��ĵ�һ��������
List<Article> list = this.getListForPage("from Article a where a.title like '%"+title+"%'" , offset, pageSize,sort,order);
// System.out.println(list);
PageBean<Article> pagebean = new PageBean();
pagebean.setPagesize(pageSize);
pagebean.setCurrentPage(currentPage);
pagebean.setAllRow(allRow);
pagebean.setTotalPage(totalPage);
pagebean.setList(list);
pagebean.init();
return pagebean;
}
//hibernateTemplate ��ҳ��ѯ����
public List<Article> getListForPage(final String hql, final int offset, final int length,final String sort, final String order){
List list = hibernateTemplate.executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,SQLException{
String hql2 = hql+ " order by " +sort +" "+ order;
System.out.println(hql2);
Query query = session.createQuery(hql2);
query.setFirstResult(offset);
query.setMaxResults(length);
List<Article> list = query.list();
return list;
}
});
return list;
}
[修改了myeclipse的默认编码, Content type editor... 把java文件的中文注释都编程乱码了..!!!!! TT ..]