Ich kann die fileUpload-Komponente nicht auf PrimeFaces 3.5 erstellen, um das Ereignis auszulösen. Ich habe viele Beiträge zu diesem Thema gelesen und befolgte Ratschläge, aber es funktioniert trotzdem nicht. Ich habe alle Modi (einfach, automatisch, fortgeschritten) ohne Erfolg ausprobiert.fileUpload löst kein Ereignis in PrimeFaces 3.5 mit JSF 2.2
Wenn ich Standard-InputFile-Tag aus der JSF-Spezifikation verwenden, funktioniert es ordnungsgemäß.
Dies ist meine web.xml-Datei:
<?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>
Und dieser Teil meiner Ansicht Seite mit dem Fileupload-Tag ist:
<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>
Der Extrakt aus Managed Bean mit der Methode, die aufgerufen wird, vom Tag:
Auch ich möchte hinzufügen, dass die Http POST-Anfrage ordnungsgemäß nach I ausgelöst wird überprüft es mit dem Debugger-Tool in Chrome.
Ich habe hinzugefügt notwendige Bibliotheken zu dem Classpath das heißt:
commons-fileupload-1.3.jar
commons-io-2.4.jar
PF 3.5 wurde speziell für JSF 2.0/2.1 entwickelt und ist nicht unbedingt mit JSF 2.2 kompatibel. PF 4.0 wurde speziell für/mit JSF 2.2 entwickelt und wurde vor zwei Tagen zufällig veröffentlicht. Ich schlage vor, es zu versuchen. – BalusC
Bingo! Es funktioniert ordnungsgemäß mit PF 4.0. Danke @BalusC! – bajer83
Großartig. Ich habe ein bisschen mehr recherchiert und eine Antwort geschrieben. – BalusC