基于myFaces的JSF技术使用中的一些经验(二)

来源:百度文库 编辑:神马文学网 时间:2024/04/26 06:49:45
在写页面脚本的时候,很多时候会用到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的功能进行了增强,使用的标签,就使用了myFaces中的dataTable。
这个标签就实现了dataTable的翻页功能,并且能够统计总页数以及当前页。翻页的功能相当完善。
但是在使用的时候出现了一些小问题,就是存在多页的时候,当翻到第二页的时候,表格中的数据没有了。后来发现,这个现象是因为使用的时候,与dataTable相关的bean中的数据必须只有get方法,不能有set方法。当把set方法删除了以后,这个问题就没有了。