File upload SpringWebFlow应用程序&x2B;Primefaces、文件上载不工作、HTTP错误或/和IO错误

File upload SpringWebFlow应用程序&x2B;Primefaces、文件上载不工作、HTTP错误或/和IO错误,file-upload,primefaces,spring-webflow,ioerror,File Upload,Primefaces,Spring Webflow,Ioerror,我们正在开发一个JSF-spring-webflow web应用程序,我们正在尝试使用primefaces-fileupload小部件。primefaces工作正常,小部件得到正确渲染。但是,文件上载不起作用。backingbean FileUploadController中的handlefileupload函数从未被调用。其他primefaces组件(例如按钮)可以调用该bean中的函数,因此它可以正确初始化。下面是我们的配置。目前,我们正在eclipse中开发并使用maven部署web应用程

我们正在开发一个JSF-spring-webflow web应用程序,我们正在尝试使用primefaces-fileupload小部件。primefaces工作正常,小部件得到正确渲染。但是,文件上载不起作用。backingbean FileUploadController中的handlefileupload函数从未被调用。其他primefaces组件(例如按钮)可以调用该bean中的函数,因此它可以正确初始化。下面是我们的配置。目前,我们正在eclipse中开发并使用maven部署web应用程序,并直接在eclipse中使用jetty服务器运行该应用程序。在tomcat上部署.war也不起作用

问题:

  • 选择文件并单击上载后,小部件会显示错误“IO错误”或“HTTP错误”
  • 一些数据被传输到服务器(我们嗅探了网络流量)
  • backingbean FileUploadController中的handlefileupload()函数从未被调用
依赖关系

  • org.primefaces 2.2.RC2
  • org.springframework.webflow、webflow和faces 2.2.1.RELEASE
  • commons文件上传1.2.2
  • commons io 2.0
  • com.sun.faces、api和impl 2.0.3
  • org.springframework.security
web.xml

<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>
beans-config.xml

<bean id="fileUploadController" class="de.hsrm.mi.media.FileUploadController" scope="session"></bean>


提前谢谢。我们希望有人能帮助我们:)

有错误,或者您从您的xhtml文件中复制了错误

<h:form id="mainForm" enctype="multipart/form-data" prependid="false" > 
       <p:fileUpload id="fileUp" fileUploadListener="#fileUploadController.handleFileUpload}"   
    description="Images" /></h:form>

在“fileUploadController.handleFileUpload}”之前缺少“{”应该是:

<h:form id="mainForm" enctype="multipart/form-data" prependid="false" > 
       <p:fileUpload id="fileUp" fileUploadListener="#{fileUploadController.handleFileUpload}"   
    description="Images" /></h:form>

改用此过滤器

<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>Spring MVC Dispatcher Servlet</servlet-name>
</filter-mapping>

PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
PrimeFaces文件上载筛选器
SpringMVC调度程序Servlet

谢谢你的回答,但遗憾的是事实并非如此。这只是一个输入错误。试着在你的web.xhtml:org.apache.myfaces.USE\u ENCRYPTION false或者更确切地说是Mojarra中类似的东西中添加。没有这个参数,我也无法上传文件。你有日志吗?在您的应用程序服务器中或从log4j?此配置对于使用SpringWebFlow是必需的。PrimeFaces文档示例使用“Faces Servlet”而不是“Spring MVC Dispatcher Servlet”。只有第二种方法有效。
<h:form id="mainForm" enctype="multipart/form-data" prependid="false" > 
       <p:fileUpload id="fileUp" fileUploadListener="#{fileUploadController.handleFileUpload}"   
    description="Images" /></h:form>
<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>Spring MVC Dispatcher Servlet</servlet-name>
</filter-mapping>