2014-02-10 2 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', чтобы получить текущее значение из бэкэнда. Какова область вашего бэк-компонента и как вы обновляете стоимость? – kolossus

+0

@kolossus Моя бэк-группа - sessionScoped. Как мне обновить размер моих писем ArrayList ??? –

ответ

0

Похоже, что вы не загружаете новую информацию из mailMB.mails: Вы запрашиваете нечто вроде серверной части для обновления писем, но вы не используете новые данные в своем pop'up. Возможно, вы можете попытаться получить ответ и загрузить его во всплывающем окне, прежде чем отображать его.

Надеюсь, это может вам помочь.

Смежные вопросы