我有一个动态加载图像的jsf页面。图像生成可能需要几秒钟,所以我想显示一条消息或一个gif,以便用户知道正在加载某些内容(此时加载过程中只有一个空白区域)。
我曾试图使用primeface的延迟加载,但它没有任何区别。
我的页面中有一个ajaxStatus,但在加载过程中没有激活它。
以下是包含graphicImage的代码:
<p:outputPanel deferred="true">
<h:graphicImage
value="/wfDiagram?processId=#{workflowAction.processId}"/>
</p:outputPanel>
value
指向处理图像生成的servlet。
答案 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请求完成后自行关闭时,将打开一种“弹出对话框”。