Но у моего клиента появились новые требования. Если пользователь нажал формулярную кнопку, необходимо отобразить анимированное изображение GIF во время выполнения Java-кода на стороне сервера, а анимированный GIF-изображение должен немедленно исчезнуть, если Java-код на стороне сервера был завершен.
Это кнопка отправки Struts2, которая запускает HTTP-запрос, если кнопка была нажата:
Код: Выделить всё
Код: Выделить всё
function myJsFunction(){
$.ajax({
type: "POST",
dataType: 'binary',
url: "myActionClass.action",
data: {//some necessary input values},
success: function(data){
console.log(data);
// js code to disappeared the animated gif image
}
});
}
Код: Выделить всё
private void returnExcelFileAsStream(final String filename) throws IOException {
final InputStream is = new FileInputStream(filename);
OutputStream os = null;
try {
response.setContentType("application/pdf");
response.setHeader("Cache-Control", "maxage=3600");
response.setHeader("Pragma", "public");
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
os = response.getOutputStream();
int len;
byte buf[] = new byte[1024];
while ((len = is.read(buf)) > 0) {
os.write(buf, 0, len);
}
is.close();
os.close();
}
catch(Exception e){
// some exeception handling
}
}
Код: Выделить всё
public String execute(){
// some Java code
returnExcelFileAsStream("MyExcelFile.xlsx")
return null;
}
Код: Выделить всё
/WEB-INF/base/jsp/myJspPage.jsp
Подробнее здесь: https://stackoverflow.com/questions/350 ... ax-request
Мобильная версия