从Java Servlet返回Excel文件以及HTML内容

时间:2014-01-14 07:47:24

标签: java html excel servlets

使用java servlet我需要进行后端数据库查询并将结果填充到excel文件中并提供给客户端用户。 我有一个工作代码,通过设置HtmlServletResponse对象的contentType和Header来下载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的新手,不确定这是否非常直接。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您无法通过多个响应回复服务请求。您需要使用搜索criterea显示搜索页面,并让搜索页面创建excel文件(在iframe或其他内容中)。

答案 1 :(得分:0)

您可以尝试在Cookie中保存搜索条件。 以下是有关它的一些信息http://www.journaldev.com/1907/java-servlet-session-management-tutorial-with-examples-of-cookies-httpsession-and-url-rewriting