繁体   English   中英

JSF管理的上载bean?

[英]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

在此之前,您最好的选择是获取第三方组件库或自制一个自定义组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM