[英]JSF managed upload bean?
我有一个上载例程,适用于servlet。 现在,我试图将这个例程放入这样的jsf托管Bean中:
public void uploadFile() throws IOException, ServletException{
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
Part filePart = request.getPart("item");
String filename = getFilename(filePart);
InputStream filecontent = filePart.getInputStream();
//persist the data here
}
当尝试在服务器上运行它时,当然会出现错误消息:“ PWC4016:在没有多部分配置的情况下调用了Request.getPart。向Servlet中添加@MultipartConfig或向web.xml中添加multipart-config元素”
但是我不知道在何处放置此批注,我也没有托管bean的jsf生成的servlet的名称,因此也无法将其放入web.xml。 将该例程放入托管bean中通常不是一个好主意,还是应该坚持使用servlet变量?
基本上需要将@MultipartConfig
放在FacesServlet
。 您<h:inputFile>
做,但是已经为即将到来的JSF 2.2完成了,它带有支持ajax的新标准<h:inputFile>
组件,另请参见JSF规范问题802 。
在此之前,您最好的选择是获取第三方组件库或自制一个自定义组件。
<t:inputFileUpload>
-另请参见JSF 2.0文件上传 <p:fileUpload>
-另请参见如何使用PrimeFaces p:fileUpload? <x:inputFile>
-另请参见使用JSF 2.0和Servlet 3.0上传文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.