如何实现加载栏

时间:2018-06-28 15:19:10

标签: javascript java html ajax java-ee

我想实现一个在加载java方法时显示加载栏的按钮。

这是按钮的功能JS:

$("#email").on('click', function() {
                       $(this).after(
                       $(document.createElement("img"))
                            .attr({
                               'src' : '../resources/img/chargement.gif',
                               'alt' : 'Loading'
                            })
                          );
                       $('#email').attr("disabled", true);
                       $("#reporting").attr("action", "/tsc-web/GFPEmail/");
                       $("#reporting").submit();


                });

这是此按钮调用的代码:

@RequestMapping(value = "/GFPEmail", method = RequestMethod.POST)
public String email(@ModelAttribute(ModelConstants.GFP_MODEL_NAME) GFPViewBean gfpViewBean, Model model)
        throws SQLException {
    GFPViewBean gfpVb = (GFPViewBean) model.asMap().get(ModelConstants.GFP_MODEL_NAME);
    Map<String, Object> vars = new HashMap<>();
    boolean mailSendOk;

    // MAJ du reporting à partir du formulaire d'édition :
    // this.editReporting(starVb);

    // Génération du mail de Reporting
    vars.put("tag", gfpVb);
    vars.put("chaines", gfpVb);
    vars.put("comment", gfpVb);
    vars.put("artefact", gfpVb);
    try {
        this.generateExcel(gfpViewBean);
        mailSendOk = this.mailParser.gfpReportParser(vars);

    } catch (SQLException e) {
        LOG.error("Erreur lors de l'insertion de l'état du reporting Starcust en base", e);
        mailSendOk = false;

    } catch (IOException e) {
        LOG.error("Erreur lors de l'écriture du mail :", e);
        mailSendOk = false;

    } catch (TemplateException e) {
        LOG.error("Template invalide :", e);
        mailSendOk = false;

    } catch (Exception e) {
        LOG.error("problème lors de l'envoi de l'email :", e);
        mailSendOk = false;
    }
    model.addAttribute(gfpViewBean);
    return GFPConstantes.GFP_REPORTING;
}

此方法允许您发送带有excel(将在发送前创建)作为附件的电子邮件。我为此使用Microsoft Exchange Web服务。

如何在处理期间显示加载栏,并且在加载结束时不再显示?我曾经想到过Ajax到达那里,但是还有另一种方法吗?

0 个答案:

没有答案