2013-10-16 2 views
1

J'ai une application Web en cours d'exécution sur:File upload ne fonctionne pas avec PrimeFaces 4.0, JSF Mojarra 2.2.3 Beta 1 et wildfly

  • wildfly Beta 1
  • JSF Mojarra 2.2.3 (de wildfly)
  • Primefaces 4.0
  • rewrite-servlet-2.0.7.Final/rewrite-config-prettyfaces-2.0.7.Final
  • commons-io-2.4/commons-fileupload-1,3

Et j'ai un problème avec le composant de téléchargement de fichiers (mode avancé et simple ne fonctionne pas, jamais imprimer intérieur upload()).

Même chose est exécutée sans rewrite-servlet-2.0.7.Final/rewrite-config-prettyfaces-2.0.7.Final libs.

Mon fichier upload.xhtml:

<h:form prependId="false" id="formLateralUpload" enctype="multipart/form-data"> 
    <h:panelGrid columns="1" cellpadding="5"> 
     <p:fileUpload mode="advanced" multiple="true" update="@widgetVar(msg)" 
      fileUploadListener="#{test.upload}" auto="true" sizeLimit="10500000"/> 
    </h:panelGrid> 
</h:form> 

Mon haricot:

@ManagedBean(name = "test") 
@ViewScoped 
public class Test { 
    private UploadedFile  file; 

    public UploadedFile getFile() { 
     return file; 
    } 

    public void setFile(UploadedFile file) { 
     this.file = file; 
    } 

    public void upload(FileUploadEvent event) { 
     System.out.println("inside upload()"); 
    } 
} 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    id="test" 
    version="3.1"> 
    <display-name>test</display-name> 
    <welcome-file-list> 
     <welcome-file>/</welcome-file> 
    </welcome-file-list> 

    <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> 
     <dispatcher>REQUEST</dispatcher> 
     <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <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> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> 
     <param-value>true</param-value> 
    </context-param> 

    <error-page> 
     <exception-type>javax.faces.application.ViewExpiredException</exception-type> 
     <location>/redirect</location> 
    </error-page> 
</web-app> 
+0

Voyez-vous une erreur dans votre 'IDE ou console de navigateur'? Avec le code que vous avez posté semble très simple, alors quand vous implémentez le même code devrait fonctionner. – SRy

+0

Rien :) Seul ce que je peux obtenir de la console JS est: _ _ – Domen91

+0

Aujourd'hui, j'ai testé sur un projet web vide avec seulement libs apache et PF lib et obtenir le même résultat :( – Domen91

Répondre

0

I avoir le même problème avec Wildfly 8.1, PrimeFaces 5.1, Pretty faces et le téléchargement de fichiers. Il y a un HACK pour faire ce travail dans Tomcat, mais je ne peux pas en trouver un dans le passé. PrettyFaces semble faire quelque chose de mal pour multiposer des requêtes post qui les empêche de fonctionner correctement ... Ils semblent repousser à Undertow/Wildfly parce que le hack existe dans Tomcat au lieu de corriger le problème réel.

wildfly Discussion: http://ocpsoft.org/support/topic/pretty-primefaces-fileupload/

Tomcat Hack: http://ocpsoft.org/support/topic/split-prettyfaces-anchor-with-primefaces-file-upload-not-working/

Je suis bloqué sur ce chemin et je ne peux pas vraiment extraire soit PrettyFaces, PrimeFaces-fileUpload (j'ai besoin arrière-plan L'ajout ajax/html5) ou Wildfly ... Toute personne ayant une suggestion autre que "utiliser un mode iframe/simple" serait très appréciée.

Questions connexes