【发布时间】:2012-07-07 00:27:18
【问题描述】:
我们有一个基于 JBoss 7.1 构建的 Web 应用程序,带有 JSF2 和 Primefaces 3.3。
在我们的一个页面上,有一个ui:repeat 显示10 个项目;然后用户可以单击某种“显示更多”按钮,并通过 ajax 显示另外 10 个项目。用户可以单击“显示更多”按钮,直到没有更多要显示的项目。注意:这不是分页,每次点击“显示更多”,显示的列表会变长。
实际上,当用户点击按钮时,服务器会返回旧项和新项,JSF客户端每次都必须通过jQuery重新构建整个repeater。
我们希望找到更好、性能更高的解决方案。旧项目在 n-1 和 n 调用之间不会发生变化,因此如果服务器只能通过 ajax 返回 10 个新项目,效率会更高。
在 JSF2 中有可能吗? JSF 似乎并不真正符合这种递归渲染。唯一可能对我们有帮助的组件是 TreeNode 组件,但它似乎有点 hack :-/
【问题讨论】:
-
如果我没听错的话,你有一个包含 n 个项目的初始列表,首先显示 10 个,然后你想显示下一个 10,然后像分页一样继续显示。我猜你的支持 bean 中有 2 个列表:1 个包含整个列表项,第二个包含 10 个长度,每个 ajax 请求都填充,对吧?
-
确实如此,但这不是分页:我们想显示前 10 个项目,然后是前 20 个项目(10 个旧项目,10 个新项目),类似于 Facebook 墙
-
@XavierPortebois:我还想知道您是使用分页还是只是添加到列表中。我编辑了您的问题以澄清(请随时更正)。
标签: java jquery jsf jsf-2 primefaces