Ну, если вы просто хотите перезагрузить текущую страницу, вы можете сделать трюк:
Ваш тег <a>
должен выглядеть следующим образом:
<a href="javascript:void(0)" id="test">Click Here</a>
В Jquery:
$('#test').click(function()
{
location.href='download'; //your download request mapping
setTimeout(function(){location.reload()},2000); //this will reload the current page after 2 seconds.
});
Ваш код контроллера будет:
@RequestMapping(value = "download", method = RequestMethod.GET)
public void download(Locale locale, Model model,HttpServletRequest request,HttpServletResponse response,HttpSession session) {
response.setContentType("text/csv");
response.setHeader("Content-disposition", "attachment; filename=evaluations.csv");
try
{
OutputStream outputStream = response.getOutputStream();
String outputResult = "xxxx, yyyy, zzzz, aaaa, bbbb, ccccc, dddd, eeee, ffff, gggg\n";
outputStream.write(outputResult.getBytes());
outputStream.flush();
outputStream.close();
} catch(Exception e) {
//logging
}
}
Если вы хотите сделать видимым div, который скрыт при загрузке страницы, тогда вместо вызова location.reload()
вы должны вызвать $('#divId').show()