2012-10-31 62 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 –