Des*_*oad 14 jsf primefaces jsf-2
我在Primefaces论坛上发布了我的问题,但没有人回复,所以我想我会在这里试试.
我一直试图让fileUpload工作一段时间.我目前正在使用mojarra 2.0.3和Tomcat 7运行RC2构建.
我有一个对话框,其中包含fileUpload组件.
<p:dialog id="uploadFileDialog" >
<h:form id="uplaodFileForm" prependId="false" enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{fileUploadController.uploadFile} auto="true"/>
</h:form>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
fileUploadController看起来像这样
public class FileUploadController {
public void uploadFile(FileUploadEvent event) {
byte[] file = event.getFile().getContents();
System.out.println("MADE IT INTO FILE UPLOAD !!! ");
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,当文件上传时,它永远不会触发fileUploadEvent,它永远不会进入控制器.上传看起来像它的工作,flash部分呈现并给人的印象是它做了什么,但没有调用任何支持bean.我似乎可以弄清楚我做错了什么,我已经阅读了关于使用primefaces上传文件的每篇文章.谁知道我做错了什么?
Bal*_*usC 19
java.lang.ClassNotFoundException:org.apache.commons.io.output.DeferredFileOutputStream
PrimeFaces fileupload使用Apache Commons FileUpload,后者又有另一个依赖项,即Apache Commons IO.确保你的两个JAR都在你的身上/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>
Run Code Online (Sandbox Code Playgroud)
而且你还需要确保没有其他过滤器之前,在web.xml可阅读HttpServletRequest#getInputStream()的,因为它只能读取一次.
| 归档时间: |
|
| 查看次数: |
24734 次 |
| 最近记录: |