久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何在 JAX-RS 中設置響應標頭,以便用戶看到 E

How to set response header in JAX-RS so that user sees download popup for Excel?(如何在 JAX-RS 中設置響應標頭,以便用戶看到 Excel 的下載彈出窗口?)
本文介紹了如何在 JAX-RS 中設置響應標頭,以便用戶看到 Excel 的下載彈出窗口?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我編寫了使用 REST JAX-RS 生成 Excel 文件的代碼,并確認生成的 Excel 文件位于 GlassFish 服務器目錄中.

I wrote code that generate Excel file using REST JAX-RS and I confirmed that the generated Excel file is in GlassFish server directory.

但我的目標是當用戶單擊按鈕(生成 Excel .xls)時,我希望顯示下載彈出窗口,詢問用戶是保存還是打開 .xls 文件,就像任何其他用于下載任何類型的 Web 服務一樣文件.

But my goal is when user click on the button (which generate Excel .xls), I want download popup to show up asking user whether to save or open the .xls file just like any other web services doing for downloading any type of files.

根據我的搜索,步驟是:

According to my search, the step is:

  1. 生成 Excel .xls(完成)

  1. generate Excel .xls (DONE)

將excel寫入流

在 JAX-RS 文件中,將響應頭設置為類似,

in JAX-RS file, set response header to something like,

字符串文件名 = "Blah_Report.xls";response.setHeader("Content-Disposition", "attachment; filename=" + fileName);

String fileName = "Blah_Report.xls"; response.setHeader("Content-Disposition", "attachment; filename=" + fileName);

我的問題是我在 JAX-RS 文件中執行所有這些操作,但我沒有可用的 HttpServletResponse 對象.

My question is I'm doing all of this in JAX-RS file and I don't have HttpServletResponse object available.

根據來自的回答將響應標頭添加到 JAX-RS Web 服務

他說:

您可以注入對實際的 HttpServletResponse 通過Web 服務中的 @Context 注釋并使用 addHeader() 等添加您的標題.

You can inject a reference to the actual HttpServletResponse via the @Context annotation in your webservice and use addHeader() etc. to add your header.

如果沒有示例代碼,我真的無法弄清楚這到底意味著什么..

I can't really figure what exactly that means without sample code..

推薦答案

您不需要 HttpServletResponse 在響應上設置標頭.您可以使用javax.ws.rs.core.Response.只需讓您的方法返回響應而不是實體:

You don't need HttpServletResponse to set a header on the response. You can do it using javax.ws.rs.core.Response. Just make your method to return Response instead of entity:

return Response.ok(entity).header("Content-Disposition", "attachment; filename="" + fileName + """).build()

如果您仍想使用 HttpServletResponse,您可以將其注入到類字段之一,或使用屬性或方法參數:

If you still want to use HttpServletResponse you can get it either injected to one of the class fields, or using property, or to method parameter:

@Path("/resource")
class MyResource {

  // one way to get HttpServletResponse
  @Context
  private HttpServletResponse anotherServletResponse;

  // another way
  Response myMethod(@Context HttpServletResponse servletResponse) {
      // ... code
  }
}

這篇關于如何在 JAX-RS 中設置響應標頭,以便用戶看到 Excel 的下載彈出窗口?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時間,就像在 UTC 中一樣)
How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉換為公歷?)
Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉換.公歷到儒略歷切換)
java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
Java: getting current Day of the Week value(Java:獲取當前星期幾的值)
主站蜘蛛池模板: 国产精品久久久久国产a级 欧美日本韩国一区二区 | 国产91亚洲精品一区二区三区 | 在线观看特色大片免费网站 | 黄视频免费观看 | 久视频在线 | 国产综合精品 | 国产精品一区二区三区在线 | 中文字幕不卡在线观看 | 国产日韩一区二区三区 | 日韩欧美视频 | 亚洲视频区 | 美女福利视频网站 | 久久高清| 在线一区观看 | 91正在播放 | 国产精品久久久久久久久动漫 | 仙人掌旅馆在线观看 | 久久三区 | 日韩国产在线观看 | 怡红院怡春院一级毛片 | 91视频进入| 日韩一区二区在线观看视频 | 亚洲成av| 91精品福利 | 日本成人福利视频 | 欧美成人精品一区二区男人看 | 国产高清在线 | 91久久精品一区二区三区 | 久草.com| 亚洲成人激情在线观看 | 美女在线视频一区二区三区 | 丁香婷婷久久久综合精品国产 | 欧美成ee人免费视频 | 狠狠干天天干 | 欧美一二区 | 欧美黄色一区 | 亚洲精品免费视频 | 成人性视频在线播放 | 91美女在线观看 | 精品亚洲永久免费精品 | 成人精品在线视频 |