我是 java 新手。我需要点击下载选项下载 pdf/txt/.xls 或任何文件。在我的情况下,我在数组列表中有某些值并在 jsp 中显示。在我的名单(名单)中,我有
name=rahul
url=files/en/software/rahul.txt
name=roshan
url=files/en/software/roshan.pdf
当我迭代(名单)并在jsp中显示以上内容时,我的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 中,我在 url 中有很多用户名和相应的文件。单击下载文件在浏览器中打开,网址为 http://www.xxx.com/files/en/software/roshan.pdf
但我希望它在弹出窗口中打开,询问用户另存为/打开选项。当将此 url 传递给控制器时,我只得到值 /files/en/software/roshan.pdf。我在他们建议使用 response.setHeader("Content-Disposition", "attachment;filename="+name); 的每个地方都进行了搜索。
所以我创建了一个名为下载的控制器,点击下载我映射了这样的网址
<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 中的相同文件(在上述控制器中包含/更改的内容)。请帮我解决这个问题。感谢我提前帮助我。