我使用Mojara 2.0.3和PrimeFaces 2.2. 我已经在本主题中阅读了很多帖子并发现了一些非常好的建议(例如不要在getter中使用db调用等)并使用它们,但我们的应用程序仍然需要~3秒来呈现响应. 我测
我已经在本主题中阅读了很多帖子并发现了一些非常好的建议(例如不要在getter中使用db调用等)并使用它们,但我们的应用程序仍然需要~3秒来呈现响应.
我测试了它,第6个生命周期(渲染阶段)是最大的资源消费者.我们主要使用内置或复合组件,我想知道用简单的html标签替换其中一些(主要用于设计而不使用任何功能)是好还是坏.
例如:
绝缘
< p:outputPanel styleClass =“myClass”> …某些代码…< / p:outputPanel>
用这个
<div class="myClass">...some code...</div>
我们有数百个组件和数以千计的DOM元素的巨大视图,我可以成为渲染阶段的阻止程序.
编辑:
在我删除几乎所有“无用”组件后,我们经历了巨大的性能增长.响应时间和响应大小.平均响应时间从~3秒减少到~2.2秒.惊人…
所以结论是:少用,多得多:)
如果你有一些不需要与Backing Bean交换的JSF标签,我怀疑你通过将静态数据限制在vanilla HTML中来享受小的性能提升.
JSF生命周期的编码和解码短语在Component mark-up和vanilla HTML之间进行转换.如果你正在使用一个组件来保存你不会在表上循环并填充行(例如)与< h:outputText>之类的东西,那么这对你来说是值得的.与< p>相比,它不使用ajax或绑定到支持bean. HTML元素.
简而言之,如果您不需要利用JSF充当Controller,请不要害怕在JSF文档中使用普通的旧HTML.