2014-02-10 1 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 plz를 도와 줄 수 있습니까? –

+0

'onstart'는 너무 늦어서'blockUIWidget1'이 backing 빈으로부터 현재 값을 얻지 못할 수도 있습니다. 백킹 빈의 범위는 무엇이며 값을 어떻게 업데이트합니까? – kolossus

+0

@kolossus 내 백킹 빈은 sessionScoped입니다. 어떻게 내 메일 ArrayList의 크기를 업데이 트해야합니까 ??? –

답변

0

mailMB.mails에서 새 정보를로드하지 않는 것 같습니다. 메일을 새로 고침하기 위해 서버 측과 같은 메시지를 요청하지만 팝업에서 새 데이터를 사용하지 마십시오. 아마 당신은 응답을 얻고 그것을 표시하기 전에 당신의 팝업에서 그것을 적재하려고 노력할 수 있습니까?

도움이되기를 바랍니다.