从Javaservlet返回Excel文件以及HTML内容

从Javaservlet返回Excel文件以及HTML内容,java,html,excel,servlets,Java,Html,Excel,Servlets,使用JavaServlet,我需要执行后端数据库查询,并将结果填充到excel文件中,然后提供给客户机用户。 通过设置HtmlServletResponse对象的contentType和标头,我有一个下载Excel的工作代码,如下所示: response.setContentType("application/vnd.ms-excel; charset=utf-8"); response.setHeader("Content-Disposition", "attachment;

使用JavaServlet,我需要执行后端数据库查询,并将结果填充到excel文件中,然后提供给客户机用户。 通过设置HtmlServletResponse对象的contentType和标头,我有一个下载Excel的工作代码,如下所示:

    response.setContentType("application/vnd.ms-excel; charset=utf-8");
    response.setHeader("Content-Disposition", "attachment; filename="+ "Report" + ".xls");
但我的问题是,除了提供此Excel表作为下载,我还需要将用户选择的“初始搜索条件”作为HTML发送。对于html,我需要如下设置内容类型

 response.setCharacterEncoding("UTF-8");
 response.setContentType("text/html");
我认为不可能将内容类型设置为2个不同的值。如何解决这个问题

用另一种方式来表述这个问题——“我有一个HTML搜索表单,用户根据它选择搜索条件——在excel另存为文件中提供结果时,我需要重新填充相同的HTML,以便用户选择的搜索条件不会丢失”


我是Servlets的新手,不确定这是不是很直截了当。谢谢您的帮助。

您可以尝试在cookies中保存搜索条件。
以下是一些相关信息

您不能用多个响应响应服务请求。您需要显示带有搜索标准的搜索页面,并让搜索页面创建excel文件(在iframe或其他文件中)。

您好,您能指出使用iframe完成此操作的任何示例吗?您只需正常提交搜索,当页面加载时,您会再次将搜索表单提交到iframe,例如
(例如,将搜索表单的target属性设置为
target='excelIframe'
,将表单的操作设置为'excelServlet')。不幸的是,我不能使用cookies。