JSF - “rendered =”的替代?

时间:2010-06-29 14:27:57

标签: java performance jsf seam richfaces

我们正在开发一个Java Web应用程序,它利用JSF(Richfaces通过Seam)来实现其UI。我读过几篇文章,指出在UI组件上使用“rendered =”属性会导致相当大的性能损失。我们有几个组件,我们想根据它们的值是否设置来启用或禁用。例如,如果我们要显示待售商品,我们就不会为未设置的属性设置一堆空白字段。

然而,鉴于这种性能影响,我们对使用多个“渲染”字段感到担忧。有更好的替代品吗?我们可以采取哪些措施来提高使用该字段的性能吗?

3 个答案:

答案 0 :(得分:4)

如果getter只是返回一个(缓存的)boolean属性,那么我真的没有看到任何痛苦。除此之外别无选择。最好的方法是将其缓存在模型(延迟加载)或视图(c:set)中。反过来,getter方法调用的成本完全可以忽略不计。

答案 1 :(得分:0)

任何其他方式都不会是免费的..所以我只是使用标准的JSF方式隐藏/显示组件。

答案 2 :(得分:0)

您可以使用style="display : (#{bean.booleon} ? block : none)" JSF代码。