2014-02-10 27 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中使用新的数据。也许你可以尝试获取响应并在显示它之前将其加载到弹出窗口中。

我希望它能帮助你。