网站地图
  
  高级搜索
  首页   技术论坛   博客 派计划   产品中心   资源中心   银弹在线   商城  

 
  本文的标签
EOS (收录2215篇)EOS知识库 (收录445篇)EOS应用分析设计 (收录63篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

导出数据到excel报表功能(fbreport)输出的内容有多余的Error500错误的解决办法


发布时间:2006-12-21 00:00:00 作者:cservice 出处:goComDevCenter 语言:中文 阅读次数:1042
【适用范围】

EOS5.0及以上



【问题描述和定位】

导出数据到excel报表功能(fbreport)输出excel内容到客户端,客户端以excel打开该文件失败。以文字编辑软件打开该文件发现文件最后多出Error 500 response already committed。如下:

.....Error 500 response already committed



【解决方案和步骤】

fbreport报表工具要求开发者编辑excel文件,并加入特殊的#号指令进行格式定义,定义好的模板上传后转成xsl文件,当xml数据文件与xsl文件进行transform后把内容通过http协议输出到客户端后完成整个报表以excel格式输出。经查发现过程无任何加入Error500的可能性,而且此错误为http协议中的传输错误。

打开输出excel内容到客户端的JSP文件/fbreport/page/ReportGenerateByTemplate.jsp发现,该文件以response.getOutputStream得到输出流,而OutputStream类已经有新的替代者PrintWriter,且参考了xalan关于通过http传输xml结果流的例程,最终只需要修改OutputStream为PrintWriter,如下

java.io.PrintWriter out = response.getWriter();

即可解决excel内容最后输出多余Error 500 response already committed错误。



【备注】

在某些环境下OutputStream输出流到客户端不会引发如上错误。

 评论 查看全部评论

 

声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。