Java 为什么我的PrimeFaces上传工具不工作?
我正在尝试使用primefaces上载工具()。我设法正确地显示了它,它看起来很有效。但是当我去检查数据库时,它是空的。 为什么不上传?我确信访问数据库的EJB是经过良好编程的 当我转到从DB检索的页面时,我还注意到控制台中的这条消息 严重:第1:61行字符“;”处没有可行的替代方案 我不确定这是否与此有关。我没有看到其他错误 我的上传工具代码如下所示:Java 为什么我的PrimeFaces上传工具不工作?,java,jsf,file-upload,jakarta-ee,primefaces,Java,Jsf,File Upload,Jakarta Ee,Primefaces,我正在尝试使用primefaces上载工具()。我设法正确地显示了它,它看起来很有效。但是当我去检查数据库时,它是空的。 为什么不上传?我确信访问数据库的EJB是经过良好编程的 当我转到从DB检索的页面时,我还注意到控制台中的这条消息 严重:第1:61行字符“;”处没有可行的替代方案 我不确定这是否与此有关。我没有看到其他错误 我的上传工具代码如下所示: <p:fileUpload fileUploadListener="#{uploadController.handleFileUploa
<p:fileUpload fileUploadListener="#{uploadController.handleFileUpload}"
allowTypes="*.txt;*.doc;*.pdf;" description="Text Documents"/>
这是EJB到DB的访问(我确信这部分工作正常):
}
为什么不将数据添加到数据库中
-------------------------------------------更新----------------------------------------
private UploadedFile uploadedFile;
public void handleFileUpload(FileUploadEvent event) {
System.out.println("INSIDE THE METHOD!!!!");
uploadedFile = event.getFile();
String fileName = FilenameUtils.getName(uploadedFile.getFileName());
String contentType = uploadedFile.getContentType();
byte[] bytes = uploadedFile.getContents();
// Now you can save bytes in DB (and also content type?)
Garbage garbage = new Garbage();
garbage.setFilename(fileName);
garbage.setFile(bytes);
garbage.setDescription("info about the file");
garbage.setFileType("File extension");
fileUploaderEJB.uploadGarbage(garbage);
FacesContext.getCurrentInstance().addMessage(
null,
new FacesMessage(String.format(
"File '%s' of type '%s' successfully uploaded!",
fileName, contentType)));
}
这是我的web.xml:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<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>/pages/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>pages/index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>
</web-app>
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/页数/*
pages/index.jsp
资源Servlet
org.primefaces.resource.ResourceServlet
资源Servlet
/素数资源/*
我只需要将其添加到我的web.xml中,源代码是正确的
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>/uploaded</param-value>
</init-param>
</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.xml中,源代码是正确的
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>/uploaded</param-value>
</init-param>
</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中添加JAR解决了这个问题:
- commons-io-2.2.jar
- commons-fileupload-1.2.2.jar
<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中添加JAR解决了这个问题:
- commons-io-2.2.jar
- commons-fileupload-1.2.2.jar
<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
我希望它对你有用 handleFileUpload()方法是否被解雇?如果没有,您是否在web.xml中注册了PrimeFaces上载过滤器?如果您确实注册了,是否可以发布web.xml中显示PrimeFaces上载筛选器信息的部分?您还检查了
字节数组的大小吗?1-I检查了,该方法没有被触发。2-我更新了托管bean中的最后更改。3-上传过滤器不在web.xml中(我不知道应该是什么样子)4-我没有检查字节数组的大小,但我做了一些更改,我不知道是不是Enoght我做了我只需要注册过滤器我会发布我所做的。是的,这正是我要建议你做的。祝你好运:DDid handleFileUpload()方法被解雇了?如果没有,您是否在web.xml中注册了PrimeFaces上载过滤器?如果您确实注册了,是否可以发布web.xml中显示PrimeFaces上载筛选器信息的部分?您还检查了字节数组的大小吗?1-I检查了,该方法没有被触发。2-我更新了托管bean中的最后更改。3-上传过滤器不在web.xml中(我不知道应该是什么样子)4-我没有检查字节数组的大小,但我做了一些更改,我不知道是不是Enoght我做了我只需要注册过滤器我会发布我所做的。是的,这正是我要建议你做的。祝你好运:D