t:dataScroller的使用-使用binding的时候会出现的问题

一.问题阐述
   
    根据不同的输入条件,查询出符合要求的结果(records),放到list中,并将该list赋值给t:dataTable,在前台显示出来。当第一次搜索出来的records条数过多时,用t:dataScroller进行分页。

   问题是当user点击t:dataScroller查看完第2或3页(即非第一页)以后,再输入不同的查询条件,想查看其他的records,这时 list会在back bean里被附上新值,并用t:dataTable显示在页面上,而此时t:dataScroller默认显示的页码不是第一页,而是上一次查看时显示的 页码。而我们希望t:dataScroller默认显示页码一。

二.解决办法

  这里有两种解决办法。第一种,利用t:dataScroller的binding属性,在后台bean里规定t:dataScroller显示的页码。
第二种,是不设置t:dataScroller的binding属性,直接从backbean中获取t:dataScroller元素,并在每次所用道德查询方法中设置其显示的页码。

三.具体代码


A、第一种方法:


1.页面代码:

 

 

2.后台bean代码:

 

 


B、第二种方法:

1、页面代码

 

 


2.后台bean代码:

 

 

 

四.注意事项

     值得注意的是,在方法一中,一旦用了binding,不要给t:dataScroller附id属性,不然,如果使用firefox3.0的浏览器,tomcat会在后台会报component id重复的异常,但在页面上不会有任务异常。IE,google等浏览器则不受影响。并且第一种方法不是很稳定,有时即使不给t:dataScroller附id属性也会报component id重复的异常。因此,这里建议用
第二种方法。之所以列出第一种方法,是因为毕竟是自己智慧的结晶,虽然是失败的作品,但也许其他读者仍可以从中找到有价值的东西。
    这里还需要强调一点,在第二种方法中,t:dataScroller必须放在t:dataTable的footer里,不然是从后台取不到HtmlDataScroller的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值