2009-10-12 144 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