0
我想用Primefaces文件上傳,這是我的JSF頁面:Primefaces - 如何設置文件上傳
<h:form id="uploadForm" enctype="multipart/form">
<p:fileUpload id="fileUpload" value="#{fileUploadController.file}" mode="simple"/>
<p:commandButton value="Submit" ajax="false"
actionListener="#{fileUploadController.upload}" />
</h:form>
這是我的豆:
package FileUploadController;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.model.UploadedFile;
@ManagedBean
@SessionScoped
public class FileUploadController {
private UploadedFile file;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public void upload() {
if(file != null) {
FacesMessage msg = new FacesMessage("Succesful", file.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
}
這裏是必需的依存關係拘謹。文件上傳,pom.xml中(我使用maven項目):
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>portlet-api</groupId>
<artifactId>portlet-api</artifactId>
<version>1.0</version>
</dependency>
這裏是我的web.xml:
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>
org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
我想設置UploadedFile
文件。當我點擊提交按鈕時,上傳方法調用正確,但UploadedFile
文件仍爲空,未設置爲選定文件。我怎樣才能設置這個文件?
是的,它的工作現在。非常感謝你! – brano
@brano歡迎您!如果它幫助你解決你的問題,請將此帖標記爲答案(通過點擊左側的複選標記)。請參閱[如何接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)? - akoskm –