求取jsp中调用.jasper文件代码

解决方案 »

  1.   

    可以参考jasperreport src的demo,webapp中的程序,里面包括jsp调用、servlet调用,applet调用
      

  2.   

    <%@ page contentType="text/html; charset=gb2312"%>
    <%@ page import="javax.naming.Context"%>
    <%@ page import="javax.sql.DataSource"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.*"%><%@ page errorPage="error.jsp" %>
    <%@ page import="net.sf.jasperreports.engine.*" %>
    <%@ page import="net.sf.jasperreports.engine.util.*" %>
    <%@ page import="net.sf.jasperreports.engine.export.*" %>
    <%@ page import="net.sf.jasperreports.j2ee.servlets.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.io.*" %>
    <%
       Connection conn;
       try{
           Context initCtx = new InitialContext();
           Context envCtx=(Context) initCtx.lookup("java:comp/env");
           //从Context中lookup数据源
           ds=(DataSource)envCtx.lookup("DbConn");
           conn=ds.getConnection();
                }catch(Exception ne){
                   out.println(ne);
               }
    File reportFile = new File(application.getRealPath("/reports/classic.jasper"));
        if (!reportFile.exists())
    throw new JRRuntimeException("File Test.jasper not found. The report design must be compiled first."); JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath()); Map parameters = new HashMap();
    parameters.put("ReportTitle", "Address Report");
    parameters.put("BaseDir", reportFile.getParentFile()); JasperPrint jasperPrint =
    JasperFillManager.fillReport(
    jasperReport,
    parameters,
    conn
    ); JRHtmlExporter exporter = new JRHtmlExporter(); StringBuffer sbuffer = new StringBuffer(); session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image="); exporter.exportReport();       conn.close();%>
    "DbConn"是数据源的名字,
    "/reports/classic.jasper"这个路径一定要正确