我们的 J2EE 应用程序有问题,该应用程序使用显示标签库 1.1.1。问题是,当我们尝试使用以下代码将 SQL 查询结果导出到 Excel 时,出现“Java 堆空间”错误:
<c:url value="/admin/inscripcion/listarBuscarInformeSeg.do" var="listarBuscarInformeSegAction"></c:url>
<display:table name="informeSeg" id="seg" pagesize="20" requestURI="${listarBuscarInformeSegAction}"
class="listadoInforme" cellpadding="2" cellspacing="0"
style="margin-left: auto;margin-right: auto;" export="true">
SQL 查询返回 32000 条记录。我们的服务器 (Jboss) 的内存配置最大为 256 MB。我们无法增加服务器的内存,因为客户端不允许我们这样做。
你知道这个错误是否是显示标签库的bug吗?您能告诉我们有关此错误的更多信息吗?我们该如何解决这个错误?
最佳答案
在内存中设置 32000 条记录肯定会在只有 256 MB RAM 的情况下出现内存不足错误。尽量不要导出所有 32000 条记录,而是对列表进行分页并且仅按页导出。或者,您可以使用 itext 进行导出,而不是构建导出选项中的 displaytag。
关于java - 使用显示标签 1.1.1 将数据导出到 Excel 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7146275/