【发布时间】:2017-07-26 09:09:42
【问题描述】:
试图让 jsf fileUploadListener 工作似乎没有做任何事情,试图在点击 {fileUploadView.handleFileUpload} 时获得一个打印行似乎没有发生任何事情。 UI 在 localhost:8080/index.jsf 上加载正常,单击选择文件后我选择一个文件,然后按下上传按钮后没有任何反应,日志或打印行中没有错误,从显示的角度打印所有内容似乎很好。
index.xhtml
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<link type="text/css" rel="stylesheet" href="/project/faces/javax.faces.resource/theme.css?ln=primefaces-glass-x" />
<f:view>
<h:head>
<meta charset="utf-8" />
<title>test</title>
</h:head>
<h:body>
<h:form>
<p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}" mode="advanced" dragDropSupport="true"
update="messages" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
<p:growl id="messages" showDetail="true" />
</h:form>
</h:body>
</f:view>
</html>
FileUploadView.java (bean)
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;
@ManagedBean
@ViewScoped
public class FileUploadView {
private UploadedFile uploadedFile;
public void handleFileUpload(FileUploadEvent event) {
System.out.println("handel file upoad =-=-=-=-=-");
FacesMessage message = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
public UploadedFile getUploadedFile() {
System.out.println("uploading file get =-=-=-=");
return uploadedFile;
}
public void setUploadedFile(UploadedFile uploadedFile) {
System.out.println("uploading file set =-=-=-=");
this.uploadedFile = uploadedFile;
}
}
【问题讨论】:
标签: jsf file-upload primefaces