我正在使用Primefaces 4.0在Apache Tomcat 7上運行Web應用程序。 試圖實現類似於Primefaces ShowCase的上傳界面,上傳界面不會觸發後臺bean中的任何函數:使用Primefaces 4.0上傳接口不會觸發
這裏是我直接包含在我的身體(我也試過沒有「多個」,「價值」高級模式‘的ActionListener’屬性)
<p:fileUpload id="fileupload_"
value="#{userWizard.fu.uploadedFile}"
fileUploadListener="#{userWizard.fu.addFileToAttachment}"
actionListener="#{userWizard.fu.listener}"
mode="advanced"
dragDropSupport="false"
update="messages"
multiple="false"
sizeLimit="50000000"
fileLimit="3"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
auto="true"/>
<p:growl id="messages" showDetail="true" />
這裏是我支持bean:
import java.util.LinkedList;
import java.util.List;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
@ManagedBean
@SessionScoped
public class FileUpload {
private UploadedFile uploadedFile;
List<UploadedFile> files = new LinkedList<UploadedFile>();
public FileUpload()
{}
public List<UploadedFile> getFiles() {
System.out.println("<getFiles> ");
return files;
}
public void setFiles(List<UploadedFile> files) {
System.out.println("<setFiles> ");
this.files = files;
}
public void addFileToAttachment(FileUploadEvent event)
{
System.out.println("addfile");
System.out.println("upload > " + event.getFile().getFileName());
files.add(event.getFile());
}
public UploadedFile getUploadedFile() {
System.out.println("<getFile> ");
return uploadedFile;
}
public void setUploadedFile(UploadedFile uploadedFile) {
System.out.println("<setFile> ");
this.uploadedFile = uploadedFile;
}
public void listener(ActionEvent ae)
{
System.out.println("listener");
}
public void insert()
{
System.out.println("insert");
if(uploadedFile !=null)
{
System.out.println(" > " + uploadedFile.getFileName());
}
}
}
我看到在我的網頁上傳界面和文件似乎上傳,但沒有聽衆/ setters println是pr在我的輸出中輸入。一個正常的命令按鈕和我的FileUpload bean中的監聽器通常會觸發它。
使用Primefaces 4.0,我沒有在我的web.xml文件中添加FileUpload過濾器(我也嘗試添加它以防萬一,但它沒有更好的工作)。
此外,commons-fileupload-1.3.1.jar和commons-io-2.4.jar位於我的項目庫中。
有沒有人有我的問題可能在哪裏的想法?
謝謝
http://www.youtube.com/watch?v=imiBwk_xqaE – Makky
其實,有幾個步驟來實現這一目標。請按照上面的視頻教程或谷歌瞭解更多。 – Makky