我使用ECSide和原版EC遇到的问题以及解决方法

本文档汇总了ECSide2.0框架在实际应用中遇到的一系列问题及其解决策略,包括与Struts2结合时的设置问题、图片路径错误、IE浏览器下的布局对齐问题、与其他JS框架冲突以及大数据量导出Excel时的内存溢出问题。
摘要由CSDN通过智能技术生成
问题:ECSide2.0与Struts2结合,userAjax不能设置为true,否则出现“正在提交...”,然后就没有动静了。
解决:找到Me.findAjaxZoneAtClient,将false改为true

问题:ECSide2的图片,放在了一个名为gird的目录下,这个似乎是作者的笔误。
解决:修改css中的URL,将gird改为grid.

问题:ECSide在IE下表头和内容不能对齐。
解决:去掉jsp中<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

问题:ECSide与dojo等其他js框架一起使用,其他框架的拖动等操作失效。
解决:将ecside中document.onmousemove = ECSideUtil.DoResize;
            document.onmouseup = ECSideUtil.EndResize;
      改为:ECSideUtil_addEvent(document, "mousemove", ECSideUtil.DoResize);
            ECSideUtil_addEvent(document, "mouseup", ECSideUtil.EndResize);
问题:原版EC使用Hibenrate导出Excel时,如果数据量大,则会内存溢出。这个问题是EC导出数据的时候,将pageSize设置为最大造成的,ECSide估计也有类似的问题。这个时候Hibnerate的query查询会装载所有数据,所以就溢出了。并且原版ec使用POI,也容易造成溢出。

解决:重新写XlsView,使用jxl实现导出。截获Hibernate执行hql或criteria,将这两个对象存入request,然后使用scroll方式执行,每next一下,生成一行数据并且定期的执行session.clear()。这样hibnerate就不会溢出了,但是,jxl还是会溢出,不过调整内存可以在一定程度上解决这个问题。终极解决方案是分段导出,然后使用流的方式合并,不过需要研究diff格式,比较麻烦。 :(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值