我正试图找一个我在网上找到工作的一个非常简单的例子,我尝试过到处寻找,但似乎无法找到解决方案。
这是我正在使用的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,我不确定为什么这个简单的例子不起作用?