只是想知道是否可能使用h:dataTable
动态地将元素(以AJAX方式)添加到表单而不总是提交当前内容?通常,必须始终发送数据表的全部内容,因为重新呈现整个数据表。如果数据表变大(例如,100行),这可能会大大减慢页面的速度,因为每行总是会被发布。
使用原始JS执行此操作不是问题,但使用JSF可以避免吗?当然,如果我们不使用AJAX请求发送所有行数据,它仍然是轻量级的,但我们将丢失对表单所做的所有更改。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用JSF,在对其进行更改时重新呈现整个组件,这根本不可能。
在重新呈现整个组件时,除非在刷新之前将它们提交到服务器,否则对它的所有更改都将丢失。
JSF的设计方式不容易实现。对此的一个好的做法是跟踪那些已经修改过的行,然后只提交那些行。这可以通过将更改侦听器附加到表单中的每个字段来实现。