Non riesco a rendere componente FileUpload su PrimeFaces 3.5 per attivare l'evento. Ho letto molti post su questo argomento e ho seguito l'avviso, ma ancora non funziona. Ho provato tutte le modalità (semplice, auto, avanzata) senza successo.fileUpload non attiva l'evento in PrimeFaces 3.5 con JSF 2.2
Se utilizzo il tag standard inputFile dalle specifiche JSF, funziona correttamente.
Questo è il mio file web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>redmond</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<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>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/home.xhtml</welcome-file>
</welcome-file-list>
</web-app>
e questo fa parte della mia pagina di visualizzazione con il tag FileUpload:
<h:form enctype="multipart/form-data">
<p:dialog id="basicDialog" header="Add pictures" widgetVar="dlg1" >
<p:fileUpload fileUploadListener="#{galleryManagedBean.addPicturesToGallery}" multiple="true"/>
</p:dialog>
</h:form>
L'estratto dal bean gestito con il metodo che si chiama dal tag:
@Named(value = "galleryManagedBean")
@RequestScoped
public class GalleryManagedBean {
public void addPicturesToGallery(FileUploadEvent event)
{
System.out.println("Triggered upload");
}
}
Inoltre, vorrei aggiungere che la richiesta POST Http viene attivata correttamente dopo I controllato usando lo strumento debugger in Chrome.
ho aggiunto librerie necessarie al classpath vale a dire:
commons-fileupload-1.3.jar
commons-io-2.4.jar
PF 3.5 è sviluppato specificamente per JSF 2.0/2.1 e non necessariamente garantito per funzionare con JSF 2.2. PF 4.0 è stato sviluppato appositamente per/con JSF 2.2 e per coincidenza è stato rilasciato solo 2 giorni fa. Suggerisco di fare un tentativo. – BalusC
Bingo! Funziona correttamente con PF 4.0. Grazie @BalusC! – bajer83
Grande. Ho fatto qualche ricerca in più e ho postato una risposta. – BalusC