Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 从外部事件执行上载文件操作,如按钮、链接_Jsf_Primefaces - Fatal编程技术网

Jsf 从外部事件执行上载文件操作,如按钮、链接

Jsf 从外部事件执行上载文件操作,如按钮、链接,jsf,primefaces,Jsf,Primefaces,我必须创建带有附件的输入表单,所以我只想在提交按钮中执行文件上载,以便它将数据插入数据库并上载文件。。。我搜索了一下,没有找到任何简单的答案。。。提前谢谢 下图 我尝试在按钮中调用upload事件并禁用ajax,但失败了 <h:form enctype="multipart/form-data"> <p:panel header="Upload Files"> <p:fileUpload fileUploadListener="#{uplo

我必须创建带有附件的输入表单,所以我只想在提交按钮中执行文件上载,以便它将数据插入数据库并上载文件。。。我搜索了一下,没有找到任何简单的答案。。。提前谢谢 下图

我尝试在按钮中调用upload事件并禁用ajax,但失败了

<h:form enctype="multipart/form-data">
    <p:panel header="Upload Files">
        <p:fileUpload fileUploadListener="#{uploadbean.upload}"
                      update=":aform"  allowTypes="/(\.|\/)(gif|jpe?g|png|pdf|doc|docx)$/" sizeLimit="30000000" />
    </p:panel>

    <p:commandButton ajax="false" action="#{uploadbean.upload}" value="Upload Files" />
</h:form>

请查看Primeface的示例

<h:form enctype="multipart/form-data">
    <p:messages showDetail="true"/>
    <p:fileUpload value="#{fileUploadController.file}" mode="simple"/>
    <p:commandButton value="Submit" ajax="false"
                actionListener="#{fileUploadController.upload}"/>
</h:form>
可在以下网址获取:。 您可以在左侧边栏的“文件”部分找到不同的文件上载程序。
祝你好运

谢谢,这是一个简单的上传,我附上了图片@IbrahimDarwiesh no,你使用的是多文件上传,不简单。@Luiggi Mendoza是的,我正在使用多重上载,我要求在外部按钮或链接中调用FileUploadEvent以执行多重上载UPLOAD@IbrahimDarwiesh答案是:你不能。@LuiggiMendoza感谢你的回答,那么有没有办法创建带附件的primefaces输入表单?死了?~我不这么认为:D
public void upload() {
        if(file != null) {
            FacesMessage msg = new FacesMessage("Succesful", file.getFileName() + " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
    }