Note that there are some explanatory texts on larger screens.

plurals
  1. POp:fileUploadListener is not invoked
    primarykey
    data
    text
    <p>I'm using,</p> <ul> <li>GlassFish 4.0</li> <li>JSF 2.2</li> <li>Mojarra 2.2.0</li> <li>Primefaces 3.5</li> </ul> <p>I have this <code>fileUpload</code> component on an XHTML page.</p> <pre><code>&lt;h:form enctype="multipart/form-data"&gt; &lt;p:fileUpload id="txtCatImage" value="#{testManagedBean.uploadedFile}" mode="advanced" sizeLimit="100000" multiple="false" showButtons="true" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" fileUploadListener="#{testManagedBean.fileUploadListener}"/&gt; &lt;p:message for="txtCatImage" showSummary="false"/&gt; &lt;p:commandButton id="btnSubmit" actionListener="#{testManagedBean.insert}" icon="ui-icon-check" value="Save"/&gt; &lt;/h:form&gt; </code></pre> <p>This is the corresponding managed bean.</p> <pre><code>@ManagedBean @ViewScoped public final class TestManagedBean implements Serializable { private UploadedFile uploadedFile; private static final long serialVersionUID = 1L; public TestManagedBean() {} public UploadedFile getUploadedFile() { return uploadedFile; } public void setUploadedFile(UploadedFile uploadedFile) { this.uploadedFile = uploadedFile; } public void fileUploadListener(FileUploadEvent event) { uploadedFile = event.getFile(); System.out.println("fileUploadListener invoked."); } public void insert() { if (uploadedFile != null) { System.out.println(uploadedFile.getFileName()); } else { System.out.println("The file object is null."); } } } </code></pre> <p>The file upload listener as mentioned - <code>fileUploadListener()</code> is never invoked.</p> <p>The file upload filter is mapped in <code>web.xml</code> as follows.</p> <pre><code>&lt;filter&gt; &lt;filter-name&gt;PrimeFaces FileUpload Filter&lt;/filter-name&gt; &lt;filter-class&gt;org.primefaces.webapp.filter.FileUploadFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;PrimeFaces FileUpload Filter&lt;/filter-name&gt; &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt; &lt;/filter-mapping&gt; &lt;servlet&gt; &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt; &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt; &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; </code></pre> <p>I have added <code>Apache-commons-fileupload</code> and <code>Apache-commons-io</code> to the classpath. The same thing works in my earlier project with Spring / JSF. </p> <p>I can't see what I'm missing here. Does it have to do something with the version of the server?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload