小小编程之我见(2)---jsp页面如何对进行所查询出的结果再分页

看到有人在解决对jsp页面如何对进行所查询出的结果再分页处理的问题的时候,在这里总结一下JSP页面如何对进行所查询的结果再分页,以及可能新手容易困惑的几个小问题,在这里进行探讨

①首先,JSP页面对进行所查询出的结果再分页,这种情况一般是出现在我们实际项目开发中,进行多条件联合查询,这就涉及到其中的拼写SQL语句,在这里暂时不讲解多条件下拼写SQL语句的问题.

②涉及到对JSP页面所查询的结果再分页,其最根本的原因就是参数传递的问题,如何把结果页面的参数传递到下一页,这才是处理问题的关键.下来讲解一下问题的实际处理解决

在这里假设 JSP页面是

              <form action = "listinfo.action" method="post" id="form2">

                          .........

              </form>

比如在用户点击确定以后,进行数据下拉框选择提交以后,程序运行到后台,通过SQL联合查询获取到最后我们需要的结果,但是,在前台页面对展示的结果进行下一页查询的时候,却发现所获取的数据丢失,这是什么原因呢?这是因为点击下一页的时候,请求参数丢失,所以设想一下,如果请求参数不丢失,问题是不是就解决了呢?

这里指出错误的写法:(这样的写法是丢失请求参数,会对当前所选择的请求参数作为下一页查询的时候,会造成当前请求参数丢失)


这里给出部分代码:这是JSP页面点击上一页(正确的写法,这里采用的是javascript,将当前页面所有请求参数加上请求页面参数,结果就正确)

这里是javascript里面:

这样就可以解决jsp页面如何对进行所查询出的结果再分页处理的问题.

③还有的人会发现,就是对结果页面再分页查询的时候,可以进行结果页面再分页,但是,出现的问题就是比如筛选的页面有20条,可以进行一条10页查询,本来两页就可以了,可是,总是可以进行点击下一页,即使下一页没有任何数据,这个问题是怎么产生的呢,大家可以看看他的代码;

        public String execute() throws Exception {
		orderList = dao.findDesCollectByCondition(page, 100, goodstype, goodstime, goodsprice);
		totalPages = dao.getTotalPages(100);
		return SUCCESS;
	}

 看出上面的错误了吗? 
这是因为你的getTotalPages()方法也是没有多个参数进行联合查询 想解决这个问题,就应该采用以下方式 

         public String execute() throws Exception {
		orderList = dao.findDesCollectByCondition(page, 100, goodstype, goodstime, goodsprice);
		totalPages = dao.getTotalPages(100,goodstype, goodstime, goodsprice);
		return SUCCESS;
	}

 

这个问题才算真正解决


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值