JSF 2.2文件上载不起作用(动作从未调用)

时间:2015-07-25 17:33:11

标签: jsf file-upload jsf-2.2

我正试图找一个我在网上找到工作的一个非常简单的例子,我尝试过到处寻找,但似乎无法找到解决方案。

这是我正在使用的bean:

@Named("uploadBean")
@RequestScoped
public class UploadBean {
    private Part file;
    private String fileContent;

    public void upload() {
        try {
            fileContent = new Scanner(file.getInputStream())
                    .useDelimiter("\\A").next();
        } catch (IOException e) {
            // Error handling
        }

        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Uploaded!"));
    }

    public Part getFile() {
        return file;
    }

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

    public String getFileContent() {
        return fileContent;
    }

    public void setFileContent(String fileContent) {
        this.fileContent = fileContent;
    }
}

这是使用它的表格:

<h:form id="file-upload-test" enctype="multipart/form-data">
    <h:inputFile id="in-file" value="#{uploadBean.file}"/>
    <h:commandButton value="Upload!" action="#{uploadBean.upload}"/>
</h:form>

每当我尝试上传文件时,都不会调用upload()。

也许答案太明显了,但我使用的是JSF 2.2.7,我不确定为什么这个简单的例子不起作用?

0 个答案:

没有答案