如何在图像加载过程中显示.gif或消息?

时间:2013-11-13 19:15:06

标签: jsf primefaces

我有一个动态加载图像的jsf页面。图像生成可能需要几秒钟,所以我想显示一条消息或一个gif,以便用户知道正在加载某些内容(此时加载过程中只有一个空白区域)。

我曾试图使用primeface的延迟加载,但它没有任何区别。

我的页面中有一个ajaxStatus,但在加载过程中没有激活它。

以下是包含graphicImage的代码:

            <p:outputPanel deferred="true">
                <h:graphicImage
                    value="/wfDiagram?processId=#{workflowAction.processId}"/>
            </p:outputPanel>

value指向处理图像生成的servlet。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用primefaces p:blockUI组件。
这是一些例子:

<p:blockUI widgetVar="loading" trigger="btnFilterProgram" block=":layout">
    <h:panelGrid styleClass="custom-painelgrid-center">
        <h:outputText value="Loading" />
        <p:graphicImage value="resources/img/loading.gif" />
    </h:panelGrid>
</p:blockUI>

在这种情况下,当用户单击标识为btnFilterProgram的按钮并且组件在AJAX请求完成后自行关闭时,将打开一种“弹出对话框”。