利用 pager-taglib :增、删记录后如何回到分页了的记录列表
如果页面上存在一个按时间排序的记录列表,当我们增加了一条记录,应该跳转到记录的最后面,以看到刚刚增加的记录;当我们删除了一条记录,应该跳转到被删除记录的原来差不多的地方,以方便用户继续操作。 如果列表是分页的,那么增加记录后应该是跳到最后一页;对于删除记录,删除前应把当前页码记下,删除后跳转到 <b> Min(最后一页,删除前的页码) </b> 可以用 pager-taglib 来实现这两种机制。首先,它可以分页,可以让我们免于自己实现分页;其次,利用它分页后想跳转到某页只须在 url 里加上 pager.offset = 某页 即可,方便程序的实现。 具体的实现方法: 1.增加记录 a.用户提交“增加记录”的表单,表单域中需包含隐藏变量:“每页记录数” b.服务器增加记录后,从数据库中算出记录的总数 c.利用每页记录数和记录总数算出最后一页的pager.offset值 d.跳转到该页 2.删除记录 a.用户提交“删除记录”的表单,表单域中需包含隐藏变量:“每页记录数”和“当前页码” b.服务器删除记录后,从数据库中算出记录的总数 c.利用每页记录数和记录总数算出最后一页的pager.offset值 d.求出 最后一页的页码 和 删除前的页码 中间的较小值 e.跳转到这个较小值所代表的页面 DisplayTag为什么不行? 因为利用它分页后如果想跳到某页,在url里要加上的东西是不确定的,URL中它的分页参数名值对 有时是 d-48098-p = 某页, 有时是 d-23456-p …