Używam PrimeFaces 3.1.2, NetBeans 7.2, JSF 2.1 i GlassFish 3.1.2.FileDownload i FileUpload JSF Primefaces nie działa
Używam rzeczywistego kodu, który otrzymałem od http://www.primefaces.org/showcase/ui/fileUploadAuto.jsf i http://www.primefaces.org/showcase/ui/fileDownload.jsf.
Po uruchomieniu kodu do wysyłania plików nie działa on wcale. Plik nie zostanie przesłany i nie pojawi się komunikat o powodzeniu. Ale jeśli rozmiar pliku przekracza wymieniony rozmiar, pokazuje komunikat, że rozmiar pliku jest zbyt duży.
Oto mój widok:
<?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>
Oto mój podkład fasola:
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);
}
}
Jest w zasadzie ten sam kod w PrimeFaces zaprezentować stronę.
Podobnie z kodem do pobrania pliku; kiedy klikam na pobieranie nic się nie dzieje. Wyskakujące okienko otwiera się i zamyka, zanim zdołałem to zauważyć. Mam plik obrazu w miejscu, o którym mowa w strumieniu pobierania get (dla części pobierania), ale nie wiem, na czym polega problem. Kod jest zasadniczo taki sam, jak na stronie prezentacyjnej PrimeFaces.
Nie widzę żadnych dzienników ani błędów pod Glassfish w Netbeans. W razie potrzeby nie wiem, jak włączyć rejestrowanie.
Jak wspomina @Askel Willgert, czy Twój komponent bean jest zadeklarowany w faces-config.xml? –
@AlexandreLavoie Witaj Alex Nie sądzę, że potrzebujesz pliku face-config w JSF 2.1 popraw mnie jeśli nie jest zły dla tego ogólnego celu Przykład – Mitra
Oczywiście nie potrzebujesz go, ale nie widzieliśmy żadnych adnotacji, więc myślałem, że może twój komponent został skonfigurowany w face-config. –