2012-10-31 94 views
2

我有一個基於Primefaces的應用程序,其中有一些冗長的操作。Primefaces中的視覺「繁忙」指示

當這樣的操作正在執行時,我想以某種方式指出它(例如顯示一個沙漏或消息,它出現在屏幕的中心)。

在Primefaces/JSF中最簡單的方法是什麼?

+2

如果操作是AJAX調用,您可以使用[''](http://www.primefaces.org/showcase/ui/ajaxStatus.jsf) – millimoose

+2

類似的問題:http:// stackoverflow .com/a/13139815/617373 – Daniel

回答

10

我建議用<p:blockUI>來做。這裏有一個例子:

<h:form> 
    <p:panel id="content" > 
     ... 
     <p:commandButton id="longOperation" value="Process" /> 
    </p:panel> 
    <p:blockUI block="content" trigger="longOperation"> 
     <p>Here you can customize what appears as the overlay over the blocked content.</p> 
     <p:graphicImage value="/images/ajax-loader.gif"/> 
    </p:blockUI> 
</h:form> 

看看http://www.primefaces.org/showcase/ui/blockUI.jsf獲取更多信息。

+0

假設我在我的XHTML代碼中有''語句。我怎樣才能從我的Java代碼中解除對'panelPanel'的面板的阻止? –

+1

您不會,您從Java代碼返回,此時JSF將呈現響應,並且反過來,您的被阻止的內容將被解除阻止。只要''開始的請求完成,內容就會自動解除阻止。 – rdcrng

+0

blockUI不再處於primefaces –