如何从 Jasper Server 中删除加载 window

How to remove loading window from Jasper Server

我想删除报告 loads/refresh 时出现的加载 window。 如何做到这一点?

谁能告诉我 jasper 服务器安装目录中至少应该更改的文件名?

Jasper Server安装目录下的loading.jsp文件(tomcat\webapps\jasperserver\WEB-INF\jsp\templates\loading.jsp ) 在

部分下方评论
<t:insertTemplate template="/WEB-INF/jsp/templates/container.jsp">
    <t:putAttribute name="containerID" value="${not empty containerID ? containerID : 'loading'}"/>
    <t:putAttribute name="containerClass">panel dialog loading overlay moveable centered_horz centered_vert ${containerClass}</t:putAttribute>
    <t:putAttribute name="containerTitle"><spring:message code='jsp.wait'/></t:putAttribute>
    <t:putAttribute name="headerClass" value="mover"/>
    <t:putAttribute name="bodyContent" >
    
    <p class="message" role="alert" aria-live="assertive"><spring:message code='jsp.loading'/></p>
    <button id="cancel" class="button action up"><span class="wrap"><spring:message code="button.cancel"/></span><span class="icon"></span></button>
    
    </t:putAttribute>   
</t:insertTemplate>

当你像上面的例子一样,加载 window 将从所有地方消失。

要删除特定报告的加载,

将两个 div 标签与 id 属性。然后使用 js 代码隐藏 div。

下面我展示了例子;

<div id="prabu">
    <div id="x3">
        <t:insertTemplate template="/WEB-INF/jsp/templates/container.jsp">
            <t:putAttribute name="containerID" value="${not empty containerID ? containerID : 'loading'}"/>
            <t:putAttribute name="containerClass">panel dialog loading overlay moveable centered_horz centered_vert ${containerClass}</t:putAttribute>
            <t:putAttribute name="containerTitle"><spring:message code='jsp.wait'/></t:putAttribute>
            <t:putAttribute name="headerClass" value="mover"/>
            <t:putAttribute name="bodyContent" >
    
                <p class="message" role="alert" aria-live="assertive"><spring:message code='jsp.loading'/></p>
                <button id="cancel" class="button action up"><span class="wrap"><spring:message code="button.cancel"/></span><span class="icon"></span></button>
    
            </t:putAttribute>   
        </t:insertTemplate> 
    </div>
</div>

然后在下面添加javascript代码;

<script>
    var url = window.location.href; //take current tab url
    var dash = 'http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&_flowId=viewReportFlow&ParentFolderUri=%2FMy_Reports&reportUnit=%2FMy_Reports%2FDashboard_Report_Original__2_&standAlone=true';

    if(url === dash ){
        removeElement("x3");

    }

    function removeElement(elementId) {
    // Removes an element from the document
        var element = document.getElementById(elementId);
        element.parentNode.removeChild(element);
    }
</script>

在我的例子中,我使用一个报告作为我的仪表板,我每隔 1 次刷新一次 minute.So 我想删除仅对我的仪表板报告的加载 window。

关于js代码, url 是来自浏览器的当前 url。 dash 是我的仪表板报告 url。