久久久久久久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:獲取當前星期幾的值)
主站蜘蛛池模板: 日韩国产免费观看 | 天天人人精品 | 欧美一级淫片免费视频黄 | 成人亚洲视频 | 91免费高清视频 | 天天色官网 | 久久国产精99精产国高潮 | 日日操操 | 又黑又粗又长的欧美一区 | 一级电影免费看 | 蜜桃精品视频在线 | h在线免费观看 | 亚洲欧洲成人av每日更新 | 欧美性一区二区三区 | 人人干在线 | 国产a区 | 一区日韩 | 午夜av在线 | 欧美成人专区 | 韩日有码 | 中文字幕乱码视频32 | 成人欧美 | 日韩久久久久久 | 男人天堂久久久 | 欧美日韩一区二区在线 | 91手机精品视频 | 国产精品久久久久久妇女6080 | 国产乱码一二三区精品 | 国产日韩精品久久 | 国产一卡二卡三卡 | 欧美日韩精品一区二区三区视频 | 在线观看午夜视频 | 爱爱爱av| 欧美一级欧美三级在线观看 | 日韩精品在线免费 | 天堂网中文字幕在线观看 | 亚洲精品中文字幕 | 日韩av啪啪网站大全免费观看 | 久久久久无码国产精品一区 | 国产成人99久久亚洲综合精品 | 国产精品欧美一区二区三区不卡 |