如何在 JSP 中动态设置标头值

2022-01-11 00:00:00 http-headers header java jsp jstl

我有一个创建 Excel 文档的 JSP 文件.

I have a JSP file which creates an Excel document.

我想动态设置要下载的文件名.

I want to dynamically set the name of the file to be downloaded.

这就是我将文件名设置为test.xsl"的方式:

This is how I set the file name to "test.xsl":

<% response.setContentType("application/vnd.ms-excel"); 
   response.setHeader("Content-Disposition","attachment; filename=" + "test.xsl" ); 
%>

如何将文件名设置为 test-${今天的日期}.xsl(即 test-20100805.xsl)?

How can I set the file name to be test-${today's date}.xsl ( i.e. test-20100805.xsl ) ?

推荐答案

String fname = MessageFormat.format( 
    "test-{0,date,yyyyMMdd}.xsl", new Object [] { new Date() } );
response.setHeader("Content-Disposition","attachment; filename=" + fname );

我认为这应该适合你.

大括号中的文本告诉 MessageFormat 类从给定数组中插入值 0,使用格式将其格式化为 dateyyyyMMdd(例如 20161231 表示 2016 年 12 月 31 日).

The text in the braces tells the MessageFormat class to insert value 0 from the given array, format it as a date using the format yyyyMMdd (e.g. 20161231 for Dec 31st 2016).

相关文章