我有一个类需要更长的时间来完成,它会计算我绘制的值列表,在整个类中我会生成一些键值,这些值都放在表格中。
所以我的问题是如何使该表等待图表操作完成以加载表。
我的图表生成
<!-- 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>
我觉得把我放在一个循环中的棘手部分是这个表中的上述数据并不固有地绑定到这个动作,因为它们是在我的控制器类中初始化的,它处理页面加载,页面特定的变量,会话信息等。
答案 0 :(得分:1)
恕我直言,你只是把它当作wronG!
图像由浏览器加载,因此您只需开发一个URL,浏览器会在该URL上发送get请求以接收图像作为响应。此请求与已显示该表的原始请求无关。
相反,你可以有一个可能的解决方案,如:
行动1 - &gt;没有表格的LoadJSP - &gt;使用Javascript加载图片 - &gt;后 图像加载向动作2发出ajax请求,返回表格 - &gt; 在html DOM中推送该表。
这个link here明智地解释了如何使用javascript在图像加载上触发事件。