Tus*_*hee 5 performance jsf primefaces
我使用 Mojara 2.0.3 和 PrimeFaces 2.2。
我已经阅读了该主题中的很多帖子,并发现了一些漂亮的建议(例如不要在 getter 中使用数据库调用等)并使用它们,但我们的应用程序仍然需要 ~3 秒来呈现响应。
我测试了一下,第6个生命周期(渲染阶段)是最大的资源消耗者。我们大多使用内置或复合组件,我想知道用简单的html标签替换其中一些(主要用于设计而不使用任何功能)是好是坏。
例如: 已安装
<p:outputPanel styleClass="myClass">...some code...</p:outputPanel>
使用这个
<div class="myClass">...some code...</div>
Run Code Online (Sandbox Code Playgroud)
我们有包含数百个组件和数千个 DOM 元素的巨大视图,并且我可以成为渲染阶段的阻碍者。
编辑:
在我删除几乎所有“无用”组件后,我们经历了巨大的性能增长。无论是响应时间还是响应大小。平均响应时间从约 3 秒减少到约 2.2 秒。太棒了...所以结论是:用得更少,得到更多:)
根据Core Java Server Faces第 1 章,纯 HTML(静态)在 JSF 标记的编码阶段之前通过。
如果您有一些不需要与 Backing Bean 通信的 JSF 标记,我怀疑您可以通过将静态数据限制在普通 HTML 中来获得小幅性能提升。
JSF 生命周期的编码和解码短语在组件标记和普通 HTML 之间进行转换。仅当您使用的组件(例如,与 html 相比)与不<h:outputText>使用 ajax 或绑定到支持 bean 的组件相比,<p>这对您来说才有价值,它可以让您免于循环遍历表格并填充行(例如)元素。
简而言之,如果您不需要利用 JSF 作为控制器,请不要害怕在 JSF 文档中使用普通的旧式 HTML。
| 归档时间: |
|
| 查看次数: |
4461 次 |
| 最近记录: |