java - Struts2 触发表在完成时加载

标签 java jsp struts2 jfreechart

我有一个类需要更长的时间才能完成,该类计算我绘制的值列表,并且在该类中我生成了一些关键值并将其放入表中。

所以我的问题是如何让该表等待图表操作完成来加载表。

我的图表生成

<!-- Graph -->
    <s:if test="currentUser.getElec_end1() != null">
        <div id="graphContent"> 
            <img src="<s:url action='generateElectricityChart' />" />   
        </div>
    </s:if>

但我希望在上述生成完成后触发

        <div id="dateTable">
            <table id="pricingTable">
                 <tr><th>Pricing Start</th><th>Term Start</th><th>Term End</th><th>Last Date</th><th>Price</th></tr>
                 <tr><td><s:property value="currentUser.getElec_pricing_start1()" /></td><td><s:property value="currentUser.getElec_start1()" /></td><td><s:property value="currentUser.getElec_end1()" /></td><td><s:property value="currentUser.getElec_date1()" /></td><td><s:property value="getPrice1()" /></td></tr>
            </table>
        </div>

我觉得让我陷入困境的棘手部分是,此表中的上述数据本质上与此操作无关,因为它们是在处理页面加载、页面特定变量、 session 的 Controller 类中初始化的信息等

最佳答案

恕我直言,你只是误会了!

  1. 图像由浏览器加载,因此您只需开发一个 URL,浏览器在该 URL 上发送 get 请求以接收图像作为响应。此请求与已显示表格的原始请求无关。

  2. 相反,您可以有一个可能的解决方案,例如:

    Action 1 -> LoadJSP without table -> Load image using Javascript -> After image load make an ajax request to action 2 which returns the table -> push that table in the html DOM.

这个link here明智地解释了如何使用 JavaScript 在图像加载时触发事件。

关于java - Struts2 触发表在完成时加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996023/

相关文章:

java - 修改 DataSet 以接受 Comparable 对象

java - Maven - 多个 Jar 最佳实践

java - 为什么 JSP(和 JSTL/EL)采用与 Servlet 或 JSF 不同的方式来执行资源注入(inject)?

hibernate - 如何毫无问题地使用JPA 2.0 @ManyToMany

java - 如何管理对 servlet-api 的依赖?

java - MySQLNonTransientConnectionException : Client does not support authentication protocol requested by server; consider upgrading MySQL client

javascript - Tomcat不压缩js文件

java - 如何让jsp页面不显示之前在session中设置的值?

java - 单选按钮先禁用,提交后再次启用

java - 为什么我的loginService为空?