Tôi đang sử dụng PrimeFaces 3.1.2, NetBeans 7.2, JSF 2.1 và GlassFish 3.1.2.FileDownload và FileUpload JSF Primefaces không hoạt động
Tôi đang sử dụng mã thực tế tôi nhận được từ http://www.primefaces.org/showcase/ui/fileUploadAuto.jsf và http://www.primefaces.org/showcase/ui/fileDownload.jsf.
Khi tôi chạy mã tải lên tệp, nó không hoạt động chút nào. Tệp không được tải lên và không hiển thị thông báo thành công. Nhưng nếu kích thước tệp vượt quá kích thước được đề cập, nó sẽ hiển thị thông báo rằng kích thước tệp quá lớn.
Đây là quan điểm của tôi:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
mode="advanced"
update="messages"
auto="true"
sizeLimit="100000"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>
<p:growl id="messages" showDetail="true"/>
</h:form>
</h:body>
</html>
Đây là đậu ủng hộ tôi:
package com;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.FileUploadEvent;
@ManagedBean
@SessionScoped
public class FileUploadController {
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
của nó về cơ bản cùng mã trong PrimeFaces giới thiệu trang.
Tương tự với mã tải xuống tệp; khi tôi bấm vào tải về không có gì xảy ra. Một cửa sổ bật lên mở ra và đóng lại trước khi tôi thậm chí có thể nhận thấy nó. Tôi có tệp hình ảnh tại chỗ như được đề cập trong luồng tài nguyên nhận được (cho phần tải xuống), nhưng tôi không biết vấn đề là gì. Mã này về cơ bản cũng giống như trong trang giới thiệu PrimeFaces.
Tôi không thấy bất kỳ nhật ký hoặc lỗi nào trong Glassfish trong Netbeans. Tôi cũng không biết cách bật ghi nhật ký nếu cần.
Như @Askel Willgert đã đề cập, bean của bạn có được khai báo trong faces-config.xml không? –
@AlexandreLavoie Xin chào Alex Tôi không nghĩ rằng bạn cần một tập tin cấu hình khuôn mặt trong JSF 2.1 chính xác cho tôi nếu im sai cho ví dụ này mục đích chung – Mitra
Chắc chắn bạn không cần nó, nhưng chúng tôi không nhìn thấy bất kỳ chú thích, vì vậy tôi đã nghĩ rằng có lẽ bean của bạn đã được cấu hình trong faces-config. –