如题:请教高手查询后的分页(struts+JDBC连接池的老系统)就是查询后的结果仍然需要分页,但当点击下一页触发action的时候,查询的限定条件怎么保存传递给后台的查询操作,
用request肯定不行,因为第一次查询完了没有了,用session吗?请高手赐教
用request肯定不行,因为第一次查询完了没有了,用session吗?请高手赐教
解决方案 »
- ejb学习
- 遇到一个神奇的问题 求高手解释
- struts2 异常
- 如何从web页面调用JMS从而实现消息即时通讯,类似于WEBQQ
- 定时线程的设计方法
- spring如何获得servlet中setAttribute中的值
- servlet与applet的通信程序,老是调不同,那位大哥帮我看一下
- Hibernate+Weblogic+EJB时报net.sf.hibernate.HibernateException: /hibernate.cfg.xml not found
- 一个小问题!(100不够再加)
- 谁知道ejb内和外部如何同时共享一个队列
- SSH2整合出现的问题,请高手帮忙解决一下!
- hql语句
PageView<Brand> pv = new PageView<Brand>(formBean.getPage(), 12);
int startIndex = (pv.getCurrentPage() - 1) * pv.getMaxResult(); LinkedHashMap<String, String> orderBy = new LinkedHashMap<String, String>();
orderBy.put("name", "asc");
ArrayList<Object> params = new ArrayList<Object>();
params.add(true);
StringBuffer sb = new StringBuffer("o.visible=?1");
if (formBean.getQuery() != null//如果是从查询页面调用,拼上where
&& !"".equals(formBean.getQuery().trim())) {
sb.append(" and o.name like?2");
params.add("%" + formBean.getName() + "%");
}
System.out.println(pv.getMaxResult());
QueryResult<Brand> qr = brandService.getScrollData(Brand.class,
startIndex, pv.getMaxResult(), sb.toString(), params.toArray(),
orderBy); pv.initialize(qr);
logger.debug("jpql where : " + sb);
request.setAttribute("pageView", pv);
return mapping.findForward("list");
应该不用session用request就够用了
点击下一页时page = page+1把page以及perPage传过去
sql 语句
String sql = "select ... where rownum > page and rownum <page+perPage+1"
当前的结果集取得后显示在页面上
int page;
int perPage;
String orderBy;
是一个成熟的业界开源分页组件。
前几天刚用的蛮好用的。