关闭

【技巧】寻找分页显示错误的原因

270人阅读 评论(0) 收藏 举报
分类:

本例中,问题是:以特定的查询条件查询时,分页控件不显示。

分页控件的JSP代码如下:

<jsp:include page="../common/pagination.jsp" flush="true">
  <jsp:param  name="url" value="/ngtradebackend/memberblacklist/showmemberblacklist.html?blanceType=${model.blanceType}&isBlacked=${model.isBlacked}"/>
  <jsp:param  name="pageNo" value="${model.pageNo}"/>
  <jsp:param  name="pagecount" value="${model.pageCount}"/>
</jsp:include>
这个JSP只负责显示分页部分的界面。

但是通过F12控制台,我们看到,不显示的地方出现的是这个名为pagination的JSP中的js函数。

也就是说,出现的问题是:调用这个JSP出了问题。


调用JSP出问题,原因可能有二:

一者,JSP代码中,有没有判断到的地方;

二者,猜想这个被多次调用的不止一两次的JSP没有任何问题,是调用时,传的参数有问题了。


事实上,经过搜索,我们发现这个名为paination的JSP居然被调用了180次之多,所以它出现问题的几率是很小的。

排除第一个原因,我们就不需要到pagination这个jsp中寻找错误了。


接下来,我们猜想是原因二。即参数的问题。

参数的问题又有两种可能,

一者,参数本身有问题;

二者,传递参数的过程中出了问题。


我们来测试一下。

<jsp:include page="../common/pagination.jsp" flush="true">
  <jsp:param  name="url" value="/ngtradebackend/memberblacklist/showmemberblacklist.html?blanceType=${model.blanceType}&isBlacked=${model.isBlacked}"/>
  <jsp:param  name="pageNo" value="${model.pageNo}"/>
  <jsp:param  name="pagecount" value="${model.pageCount}"/>
</jsp:include>
在调用分页jsp的过程中,我们发现需要四个参数。
${model.blanceType}<pre name="code" class="html">${model.isBlacked}<pre name="code" class="html">${model.pageNo}
${model.pageCount}



我们可以把这四个参数直接显示在JSP页面中,如下。

<tr>
<td colspan="9"

<pre name="code" class="html">${model.blanceType},${model.isBlacked},${model.pageNo},${model.pageCount}    

<jsp:include page="../common/pagination.jsp" flush="true"> <jsp:param name="url" value="/ngtradebackend/memberblacklist/showmemberblacklist.html?blanceType=${model.blanceType}&isBlacked=${model.isBlacked}"/> <jsp:param name="pageNo" value="${model.pageNo}"/> <jsp:param name="pagecount" value="${model.pageCount}"/></jsp:include></td></tr>


经测试,我们发现,最后一个pageCount的参数没有传进来。

我们去寻找一下pageCount是从哪里来的,怎么定义的,怎么生成的。

就能够找到错误原因了。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:67541次
    • 积分:2311
    • 等级:
    • 排名:第16268名
    • 原创:171篇
    • 转载:2篇
    • 译文:0篇
    • 评论:8条
    最新评论