基于myFaces的JSF技术使用中的一些经验(二)[godroad原创]--dataTable的使用

在写页面脚本的时候,很多时候会用到table标签,频繁的使用会使得页面脚本变得零乱复杂。

在JSF中,table的功能被封装了起来,并且功能得到了增强,就是现在的dataTable。

使用dataTable的好处在于dataTable直接和JSF中的bean相联系,只要用一个语句建立了dataTable和bean之间的联系,当bean的内容发生了改变,其dataTable中的数据条数也会相应的改变。

dataTable作为功能的一种演示,已经足够。但是,运用到实际中各种的需求,dataTable还是有很多的不足。

首先是与dataTable相联系的bean中的数据结构,使用中发现,与dataTable相联系的结构必须是一个list,而且这个list必须是一个对象的list。所以在使用中,list必须转化为符合这个条件的list。

其次,dataTable的封装使得表格的一些相关功能的实现变得困难。比如表格的翻页功能。如果这个表格的数据很长的话,使用翻页是合理的。但是dataTable的封装使得要实现翻页变得很困难。

幸运的是,在myFaces中对dataTable的功能进行了增强,使用<x:dataTable>的标签,就使用了myFaces中的dataTable。

<x:dataScroller id="scroll" for="dataTable">这个标签就实现了dataTable的翻页功能,并且能够统计总页数以及当前页。翻页的功能相当完善。

但是在使用<x:dataScroller>的时候出现了一些小问题,就是存在多页的时候,当翻到第二页的时候,表格中的数据没有了。后来发现,这个现象是因为使用<x:dataScroller>的时候,与dataTable相关的bean中的数据必须只有get方法,不能有set方法。当把set方法删除了以后,这个问题就没有了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值