继here之后,我需要在我的网络应用程序中使用RichFaces 3.3.3,JSF 1.2和Facelets建立一个内联可编辑网格。
我的选项是rich:dataTable
RichFaces控件,或jQuery插件,jQGrid
到目前为止,我已经尝试了两种方法并找到了以下内容:
除了上面的一些问题之外,我想知道每种问题的优点和缺点是什么,以及从长远来看哪种方法更容易维护,扩展和完善。
答案 0 :(得分:1)
我已经使用ricfaces和JSF工作了4 - 5年,然后转向使用jQuery组件和Grails过去1。5年。这是我对这个主题的看法:
4,5,6 - 赞成jqGrid。
使用JSF的优点 - 由于您的服务器端代码是JSF,因此您可以获得内置于UI组件中的数据绑定(两种方式 - 服务器到客户端和客户端到服务器)。另一件事是JSF组件的外观与页面的其余部分相匹配。使用jqGrid,您必须自定义主题。
使用JSF的缺点:datatable不是非常可定制的,与jqGrid相比并不那么丰富。因此,如果您有一个复杂的用户界面,并且您意识到通过rich:dataTable不支持特定的UI功能,那么除了使用其他一些组件或者放弃该功能外,您别无选择。
jqGrid的优点 - 功能丰富,非常容易定制。我已经完成了 - treegrid,冻结列,可编辑列,使用qtip插件进行客户端验证等。
jqGrid的缺点 - 只有一种方式从服务器到客户端的数据绑定。为了实现这一点,您必须编写一些服务器代码,以便在将数据发送到客户端之前将数据格式化为JSON结构。对于从客户端到服务器的数据绑定:您必须手动将请求参数映射到JSF bean。
注意:我没有将jqGrid与JSF后端一起使用。但是,我的回答是基于我对每个框架如何运作的理解。