用于创建对象的Java类 编程

问题描述 投票:-1回答:2

我已经为文件上传创建了一个简单的qazxsw poi应用程序,而不是像这样创建一个qazxsw poi输入文件

jsf

我想以编程方式创建它并将其添加到表单中。例如:jsf

jsf
2个回答
-1
投票

Primefaces文档建议使用FileUpload组件:

  • 你可以使用<h:form id="fileToUploadForm" enctype="multipart/form-data"> <h:inputFile id="fileToUpload" required="true" f5:multiple="multiple" requiredMessage="No file selected ..." onchange="fileSelected();" render="FilesTable"/> <h:commandButton type="button" onclick="uploadFile()" value="Upload" /> </h:form> htmlform.getChildren().add(<File Component>)
  • 它也会这样做,但我认为它的使用和维护更简单
  • 比本机组件更多的控制,特别是如果您使用JSF
  • 还有其他参数:p:fileUploadmultiple="true"sizeLimitfileLimit

XHTML文件:

allowTypes

ManagedBean:

dragDropSupport

Reference:

  • <h:form> <p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}" mode="advanced" dragDropSupport="false" multiple="true" update="messages" fileLimit="3" sizeLimit="100000 allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> <p:growl id="messages" showDetail="true" /> </h:form>

-1
投票

因为我之前使用的是jsf 2.1,所以我找不到这个类,

@ManagedBean
public class FileUploadView {

    private UploadedFile file;

    public UploadedFile getFile() {
        return file;
    }

    public void setFile(UploadedFile file) {
        this.file = file;
    }

    public void upload() {
        if(file != null) {
            FacesMessage message = new FacesMessage("Succesful", file.getFileName() + 
                                                    " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }

    public void handleFileUpload(FileUploadEvent event) {
        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() +
                                            " is uploaded.");
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
}

是jsf API 2.2中的类和

https://www.primefaces.org/showcase/ui/file/upload/multiple.xhtml

是我在omnifaces中作为替代品发现的课程。

© www.soinside.com 2019 - 2024. All rights reserved.