Eclipse开发工具+水晶报表,动态数据可以显示,但动态图片不行并且老报错
代码:
<%@page import="com.JRC.util.JRC_ResultSet_DataSource" %>
<%@page import="com.crystaldecisions.report.web.viewer.*"%>
<%@page import="com.crystaldecisions.reports.sdk.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.reportsource.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
<%@page language="java" import="java.io.*"%>
<%@page trimDirectiveWhitespaces="true" %>
<%
String query = "select t.fuserid fbh,t.fusername fname,t.fpwdemail fmail," +
" 'http://192.168.11.15:8000/PICTURE3/7464.JPG' imgpath from t_vfyuser t ";
if(!jrcd.isReportSourceInSession(query,"reportSource",session))
response.sendRedirect("error.html");
CrystalReportViewer crViewer=new CrystalReportViewer();
//跟中文显示有关
crViewer.setOwnPage(true);
crViewer.setOwnForm(true);
//设置显示、隐藏组树按钮
//crViewer.setHasToggleGroupTreeButton(true);
crViewer.setDisplayGroupTree(false);
crViewer.setPrintMode(CrPrintMode.ACTIVEX);
crViewer.setReportSource(session.getAttribute("reportSource"));
crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);
%>
报错内容:
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:611)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.crystalreportviewers11.crystalimagehandler_jsp._jspService(crystalimagehandler_jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
如果rpt里面没有显示动态图片情况下,水晶报表都可以正常显示,有图片就会报错
水晶报表里面的图片是获取结果集中的图片路径字段,并赋值给水晶报表上的图片对象的,是这样设置的
<%@page import="com.JRC.util.JRC_ResultSet_DataSource" %>
<%@page import="com.crystaldecisions.report.web.viewer.*"%>
<%@page import="com.crystaldecisions.reports.sdk.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.reportsource.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.data.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
<%@page language="java" import="java.io.*"%>
<%@page trimDirectiveWhitespaces="true" %>
<%
String query = "select t.fuserid fbh,t.fusername fname,t.fpwdemail fmail," +
" 'http://192.168.11.15:8000/PICTURE3/7464.JPG' imgpath from t_vfyuser t ";
if(!jrcd.isReportSourceInSession(query,"reportSource",session))
response.sendRedirect("error.html");
CrystalReportViewer crViewer=new CrystalReportViewer();
//跟中文显示有关
crViewer.setOwnPage(true);
crViewer.setOwnForm(true);
//设置显示、隐藏组树按钮
//crViewer.setHasToggleGroupTreeButton(true);
crViewer.setDisplayGroupTree(false);
crViewer.setPrintMode(CrPrintMode.ACTIVEX);
crViewer.setReportSource(session.getAttribute("reportSource"));
crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);
%>
报错内容:
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:611)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.crystalreportviewers11.crystalimagehandler_jsp._jspService(crystalimagehandler_jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
如果rpt里面没有显示动态图片情况下,水晶报表都可以正常显示,有图片就会报错
水晶报表里面的图片是获取结果集中的图片路径字段,并赋值给水晶报表上的图片对象的,是这样设置的
...全文
相关推荐
使用eclipse在jsp上显示水晶报表
通过以上步骤,我们完成了在Eclipse中创建并展示水晶报表的基础配置。接下来,开发者可以通过编写JSP页面,使用水晶报表的API或标签库来动态加载数据,生成并展示报表。
在eclipse中配置水晶报表插件
#### 四、常见问题与解决方法- **无法找到适用于Eclipse 3.3版本的插件**:确保访问正确的下载页面,并且使用了正确的登录凭据。
eclipse水晶报表插件
Eclipse水晶报表插件是开发人员在Eclipse集成开发环境中创建和管理报表的重要工具。
java 水晶报表环境
实际应用中,你可能需要根据实际的数据源和登录信息填充报表。7. **最佳实践**: 为了优化性能,确保只在需要时加载报表,并且在使用后及时释放资源。
Crystal Reports for Eclipse--水晶报表eclipse插件
【Crystal Reports for Eclipse--水晶报表eclipse插件】Crystal Reports 是一款强大的报表设计工具,而 Crystal Reports for Eclipse


Eclipse
