0

在我的程序中,当用户单击提交按钮(提交按钮在 jsp 文件中)时,会出现 jquery 微调器。同时请求被发送到java servlet。servlet 处理请求,创建 excel 文件并下载文件。

但下载完成后,我想隐藏 jquery 微调器。我怎么能做到?

这是我的代码:下面是我的 JSP (html) 代码部分:

  <tr>
    <td>
    <br /> 
    <br /> 
    <input type="submit" value="Search" name="action" /> 
    <input type="hidden" id="download_token_value_id" />
    <input type="submit" value="Download" name="action" class="spinner" /> // When user clicks Download buttons the jquery spinner appears      
    </td>
</tr>


<center>

    <div id="fontSpinner" style="color: blue; display: none;" class="fa fa-spinner fa-pulse fa-3x fa-fw">
    </div>
</center>

下面是脚本:

   <script>

    $('.spinner').click(function() {
        $("#fontSpinner").css("display", "block");
        }); 
</script>

下面是创建和下载 excel 文件的 Java servlet

 response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + excelFileName + "\"");
....
....
.... // code that creates a excel file
....
....

ServletOutputStream out = response.getOutputStream();
workbook.write(out);

workbook.close();               
out.flush();
out.close();
4

2 回答 2

1

@Saroj-单击下载时,您编写一个 javascript 函数并对 servlet 进行 ajax 调用或 http-service 调用。从 servlet 获得成功响应(200)后,将标志置于消失微调器。

于 2019-06-29T15:40:05.060 回答
0

您可以在响应的标头中返回状态代码 200,基本上当前端收到 200 代码时,您将微调器显示属性设置为无。您还应该考虑在发生错误时将其设置为 none 并进行适当的错误处理。

于 2019-06-29T14:34:17.603 回答