繁体   English   中英

在p:fileUpload进行期间如何显示小部件

[英]How to Show Widget while p:fileUpload is in progress

我正在使用这个fileUpload从Excel工作表上传文档。

                    <h:form id="leForm2" enctype="multipart/form-data">
                        <p:fileUpload
                             mode="advanced"  showButtons="FALSE"
                             label="{messages['upload.xls']}"                                                       
                            fileUploadListener="#{bean.handleFileUpload}"                                                           
                            id="uploadCargaMasiva" update="messages3, :tabs:formTab2:documentoList" auto="true"                                                                                     
                            allowTypes="/(\.|\/)(xls|xlsx)$/"/>
                        <p:growl id="messages3" escape="true" sticky="false"
                            lifetime="800" showDetail="false" />                            
                    </h:form>

这按预期工作。 我的问题是,在上传过程中,我需要显示ap:Dialog,而我找不到这样做的方法。

这是我的对话框:

<p:dialog widgetVar="statusDialog" modal="true" draggable="false" closable="false" resizable="false">
    <p:graphicImage value="/images/ajaxloadingbar.gif" />
</p:dialog> 

我不知道怎么称呼它或在:(。有什么建议吗?

                <h:form id="leForm2" enctype="multipart/form-data">
                    <p:fileUpload
                         mode="advanced"  showButtons="FALSE"
                         label="{messages['upload.xls']}"                                                       
                        fileUploadListener="#{bean.handleFileUpload}"                                                           
                        id="uploadCargaMasiva" update="messages3, :tabs:formTab2:documentoList" auto="true"                                                                                                            onstart="statusDialog.show()"
                        allowTypes="/(\.|\/)(xls|xlsx)$/"/>
                    <p:growl id="messages3" escape="true" sticky="false"
                        lifetime="800" showDetail="false" />                            
                </h:form>

在bean.java中,我在handleFileUpload的末尾添加了这一行:

     RequestContext.getCurrentInstance().execute("widgetHide()");

widgetHide是一个JS函数:

<script type="text/javascript">  
    function widgetHide()
    {                                   
        statusDialog.hide();    
    }

</script>

如所建议的,onstart和oncomplete应该可以解决问题,但是由于某些原因,oncomplete无法正常工作。 因此,我必须执行此遍历才能使其正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM