JSF上传文件同时包含HTML5 D& D和输入文件

时间:2016-05-26 17:55:50

标签: jsf file-upload drag-and-drop jsf-2.2

在广泛讨论的文件上传主题中,有一个方面我缺少。我有一个JSF 2.2应用程序,它通过HTML5准确上传文件as shown here。它基本上使用HTML5 apis上传多个文件,然后JS调用Servlet将它们写在磁盘上(每个文件调用一次Servlet,因此不需要多个Part处理)。 现在我想在同一个元素中启用<input type=file> 。这可以完全隔离as shown here(尽管对于多个文件可能需要some tweak,但不确定后面的信息是否已过时)。

我的问题是,我显然想要编写只写一次的文件,而不是Servlet中的一个和Managed Bean中的另一个:

  • 我应该在Servlet中写所有内容吗?如果是这样,我应该如何发布 从托管bean到Servlet的部分? (我是JSF的新手)
  • 或者我应该通过从我的D&amp; D javascript中调用Managed Bean save()方法来在Managed bean中编写所有内容吗?如果 所以,我会改变这一行xhr.open("POST", "uploadServlet", true) 对其他事情,但我不知道如何打电话和通过 零件。

顺便说一句,现在JSF让我无法做各种繁琐的工作,我不完全确定Servlet的作用是什么。我应该指出的另一个细节是,将来我可能希望在Web服务中镜像Web功能。也许这会影响这个答案和我应该处理JSF的方式 - 这意味着我应该在Servlet中执行所有功能并从JSF和Web服务中调用它们,而不是在Managed Bean本身中执行功能。 < / p>

修改

仍在解决这个问题。我试图摆脱Servlet并在托管bean中使用一个方法。但是,我不知道如何将POST数据提交给托管bean。所以我在外部JS文件

中有这些
xhr.open("POST", "uploadServlet, true);
xhr.send(formData);

我应该将其重定向到该方法。这是我可以解决我的问题的另一种方法,但仍然有一些未知数,我怎么能将POST传递给方法?

0 个答案:

没有答案