首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primefaces 4文件上传不会调用所有事件的方法?

Primefaces 4文件上传不会调用所有事件的方法?
EN

Stack Overflow用户
提问于 2014-05-12 11:21:40
回答 1查看 122关注 0票数 0

当我上传图像7文件时,primefaces-4不会为每个文件调用侦听器方法。有时,调用3或4次,根本不调用。顺便说一句,如果我只测试primefaces,它是可以的。我也使用omnifaces-1.7

代码语言:javascript
复制
<p:fileUpload allowTypes="/(\.|\/)(gif|jpe?g|png)$/" fileUploadListener="#{MyUploadBean.handleAttachment}" 
    id="attachment" mode="advanced" multiple="true" sizeLimit="3000000" 
    update="imageGrid"/>

MyUploadBean.java

代码语言:javascript
复制
public void handleProposalAttachment(FileUploadEvent event) {
    UploadedFile uploadedFile = event.getFile();
    String fileName = uploadedFile.getFileName();
    System.out.println(fileName); <-- Here, I can see some uploaded file name.
}

web.xml

代码语言:javascript
复制
<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>
<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>#{GuestPreferences.theme}</param-value>
</context-param>
<context-param>
    <param-name>facelets.DEVELOPMENT</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
</context-param>
<context-param>
   <param-name>facelets.SKIP_COMMENTS</param-name>
   <param-value>true</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>
    <init-param>
        <param-name>thresholdSize</param-name>
        <param-value>2147483647</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter>
    <filter-name>No Cache Filter</filter-name>
    <filter-class>org.omnifaces.filter.CacheControlFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>No Cache Filter</filter-name>
    <servlet-name>Faces Servlett</servlet-name>
</filter-mapping>

<filter>
    <filter-name>Faces Exception Filter</filter-name>
    <filter-class>org.omnifaces.filter.FacesExceptionFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>Faces Exception Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<listener>
    <listener-class>org.ace.java.web.common.BootStrap</listener-class>
</listener>
<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-beans.xml</param-value>
</context-param>
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error/500.xhtml</location>
</error-page>

Lib和服务器为Jboss 7.1.1

代码语言:javascript
复制
commons-io-2.4.jar
commons-fileupload-1.3.jar
primefaces-4.0-20130910.075046-7.jar
portlet-2.0.0.jar
portlet-api-2.0-r12.jar
gmultipart-0.2.jar
omnifaces-1.7.jar
EN

回答 1

Stack Overflow用户

发布于 2014-05-12 16:27:31

嘿,我已经试过了,它适用于所有的文件没有问题,我想你的问题是:你已经把<p:fileUpload>和另一个标签放在某种形式中,试着把<p:fileUpload>单独放在形式中它工作得很好:)不要忘记更新fileUpload的形式和图像的形式,试一下,我等着看行不行,如果不行就把你所有的页面都放进去

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23600568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档