Java を初めて使用します。ダウンロード オプションをクリックして、pdf/txt/.xls または任意のファイルをダウンロードする必要があります。私の場合、配列リストに特定の値があり、jsp に表示されています。私のリスト(namelist)で私は持っています
name=rahul
url=files/en/software/rahul.txt
name=roshan
url=files/en/software/roshan.pdf
(namelist) を反復して上記を jsp に表示すると、i my jsp
<td valign="top">${namelist.name}</td>
<td colspan="2" valign="top">
<a href="${namelist.url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/>
</td>
私のjsp iamには、URLに多くのユーザー名とそれらに対応するファイルがあります。ダウンロードをクリックすると、ブラウザでファイルが開きます。URL http://www.xxx.com/files/en/software/roshan.pdf
しかし、ポップアップがユーザーに名前を付けて保存/開くオプションを要求するので、これを開く必要があります。この URL をコントローラーに渡すと、値 /files/en/software/roshan.pdf のみが取得されます。response.setHeader("Content-Disposition", "attachment;filename="+name); の使用を提案しているすべての場所で同じものを検索しました。
だから私はダウンロードという名前のコントローラーを作成し、ダウンロードをクリックすると、このようなURLをマッピングしました
<a href='<c:url value="/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/>
ここに私のコントローラーがあります。私は正確に何をすべきかわかりません、私はこのように書いています
public ModelAndView download(HttpServletRequest request, HttpServletResponse response) throws Exception {
cat.debug(" download: begin");
ModelAndView modelView = super.handleRequest(request, response);
String url = request.getParameter("downloadUrl");
String name = request.getParameter("name");
response.setHeader("Content-Disposition", "attachment;filename="+name);
String viewName = "swl_download";
modelView.setViewName(viewName);
return modelView;
}
上記は同じ名前のポップアップを開いています。ダウンロードをクリックすると、ファイルがurlの同じファイルになるように、コントローラーにさらに含めたいと思います(上記のコントローラーに含めるもの/変更)。これを解決するのを手伝ってください。助けてくれてありがとう。