2009-10-12 164 views
1

嗨,我们正在使用数据表和丰富的组合框和标签面板的各种组合。渲染耗时太长。是我没有从计算器和其他网站Richfaced渲染需要更长的时间

<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
</context-param> 

<context-param> 
    <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name> 
    <param-value>false</param-value> 
</context-param> 

<context-param> 
    <param-name>org.richfaces.LoadStyleStrategy</param-name> 
    <param-value>ALL</param-value> 
</context-param> 
<context-param> 
    <param-name>org.richfaces.LoadScriptStrategy</param-name> 
    <param-value>ALL</param-value> 
</context-param> 

<context-param> 
    <param-name>org.ajax4jsf.xmlparser.ORDER</param-name> 
    <param-value>NEKO</param-value> 
</context-param> 

<context-param> 
    <param-name>org.ajax4jsf.xmlparser.NEKO</param-name> 
    <param-value>.*\..*</param-value> 
</context-param> 

<context-param> 
    <param-name>com.sun.faces.responseBufferSize</param-name> 
    <param-value>500000</param-value> 
</context-param> 
<context-param> 
    <param-name>facelets.BUFFER_SIZE</param-name> 
    <param-value>500000</param-value> 
</context-param> 

<filter> 
    <display-name>RichFaces Filter</display-name> 
    <filter-name>richfaces</filter-name> 
    <filter-class>org.ajax4jsf.Filter</filter-class> 
    <init-param> 
     <param-name>forceparser</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    <init-param> 
     <param-name>enable-cache</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 

任何帮助将不胜感激性能优化建议...

回答

0

你有你的干将任何逻辑是什么?由于这些将被多次调用,将所有逻辑移入被调用一次的方法。

放在一个Phase Listener like this one from Andy Gibson

+0

getmethods()中没有太多的逻辑。在我的调试中,我观察到我的getter方法只会被调用一次。只有渲染响应阶段需要花费很多时间。感谢您的评论 – SomaSekhar 2009-10-20 04:35:24

0

注意,在默认情况下RichFaces组件使用基于JavaScript客户端分页,所以当你加载一个页面所有数据被读取。也许最初你的页面显示大量数据(表格,组合,选项卡)?

尝试通过创建server side paging来提高性能。

+0

是我的页面使用少量的数据。我们没有使用任何分页,我们必须一次显示100行。显示的总数据少于100MB。 – SomaSekhar 2009-10-20 04:36:59

相关问题