2014-02-10 28 views
0

我有一種從網絡中提取電子郵件的方法。我想在執行方法時在對話框中顯示電子郵件的大小。我試過這段代碼:顯示ArrayList的遞增大小

<p:commandButton id="extractbutton" value="Extract" 
    actionListener="#{mailMB.searchEmails()}" 
    onstart="blockUIWidget1.show();" 
    update="tableemails, :confirmPurchase, :confirmPurchaseTest, :mainform" 
    oncomplete=" blockUIWidget1.hide(); if (args &amp;&amp; !args.validationFailed) freeMails();" /> 

<p:dialog widgetVar="blockUIWidget1" modal="true" closable="false"> 
    <h:panelGrid columns="2">      
     <p:graphicImage url="pictures/loading_bar.gif" /> 
     <h:outputText value="Please wait..." /> 
     <h:outputText value="#{mailMB.mails.size()}" /> 
    </h:panelGrid> 
</p:dialog> 

但是,總是顯示0直到方法完成。 如何遞增顯示郵件size()

+0

@BalusC你能幫忙嗎? –

+0

'onstart'對於'blockUIWidget1'來說可能爲時過早,無法從後臺bean獲取當前值。你的支持bean的範圍是什麼,你如何更新值? – kolossus

+0

@kolossus我的支持bean是sessionScoped。我應該如何更新我的郵件ArrayList的大小? –

回答

0

看起來好像你不需要從mailMB.mails加載新的信息: 你請求一些像服務器端這樣的想法來刷新郵件,但是你不會在pop'up中使用新的數據。也許你可以嘗試獲取響應並在顯示它之前將其加載到彈出窗口中。

我希望它能幫助你。