Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 未调用Primefaces 5文件上载处理程序_Jsf_File Upload_Primefaces - Fatal编程技术网

Jsf 未调用Primefaces 5文件上载处理程序

Jsf 未调用Primefaces 5文件上载处理程序,jsf,file-upload,primefaces,Jsf,File Upload,Primefaces,我正在用JSF和PrimeFaces5.0开发一个Web项目。虽然有很多关于这个问题的论坛,但我找不到文件上传的解决方案。问题是,当我上传文件时,永远不会调用文件处理程序方法 这是我的代码: HTML页面: BEAN: @组件(“registrosBean”) @视域 @ManagedBean 公共类RegistroBean扩展GenericBean实现可序列化{ 公共无效handleFileUpload(FileUploadEvent事件){ System.out.println(“一些控

我正在用JSF和PrimeFaces5.0开发一个Web项目。虽然有很多关于这个问题的论坛,但我找不到文件上传的解决方案。问题是,当我上传文件时,永远不会调用文件处理程序方法

这是我的代码:

HTML页面:


BEAN:

@组件(“registrosBean”)
@视域
@ManagedBean
公共类RegistroBean扩展GenericBean实现可序列化{
公共无效handleFileUpload(FileUploadEvent事件){
System.out.println(“一些控制台消息”);
}
公共无效协同档案(){
System.out.println(“一些控制台消息”);
}
公共上传文件;
/**
*@返回文件
*/
公共上载文件getFile(){
返回文件;
}
/**
*@param file要设置的文件
*/
公共void setFile(上传文件){
System.out.println(“一些控制台消息”);
this.file=文件;
}
}
web.xml:


UNAC
上下文配置位置
类路径:application-context.xml
主题
亚里士多德
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
pages/login.jsf
状态保存方法:“客户端”或“服务器”(=默认值)。参见JSF规范2.5.2
javax.faces.STATE_保存方法
客户
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
com.sun.faces.config.ConfigureListener
PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
阈值大小
10240
PrimeFaces文件上载筛选器
Facesservlet
向前地
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
Facesservlet
/面孔/*
Facesservlet
*.jsf
Facesservlet
*.面孔
关于我的项目的一些传统信息

  • JSF2.1
  • IDE:Eclipse
  • JBoss7.1
重要的是,我已经将commons io和commons fileupload库添加到WEB-INF\lib文件夹中


关于这个问题,我已经咨询了很多论坛很多天,但我找不到解决方案,任何建议都会有帮助。谢谢

首先尝试简化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>

PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
PrimeFaces文件上载筛选器
Facesservlet

而且您不需要WEB-INF\lib上的公共io库,因为您已经在使用PF5了。删除它们。

为什么文件上载中有咆哮?我刚刚删除了咆哮消息,感谢可能与spring的使用有关?删除
@Component
,并在
fileUploadListener
属性中正确重写EL。我刚刚删除了
@Component
注释,但什么也没发生,我将注释更改为:
@ViewScoped
@ManagedBean(name=“registrosBean”)