hi all,

I have a report in which I have to show certain images. The images comes up
fine in the pdf version but there are empty image tags in the html version.
I have checked my html servlet, it seems fine to me.
The image servlet is also mapped correctly in the web.xml file.
Also there are no duplicate jars in the lib folder of my application.

I am pasting my html servlet here. Please anyone if you could review my html
servlet & let me know what could be the problem or any other clue about
solving this problem, I'll be greatful. I am working on several problems
simultabeously with JR. Please help. It's urgent.

Thanks & Regards,
Meenakshi
---------------web.xml settings--------------------
<servlet>
                <servlet-name>HtmlServlet</servlet-name>
                <servlet-class>servlets.HtmlServlet</servlet-class>
        </servlet>
<servlet>
                <servlet-name>ImageServlet</servlet-name>
                
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-cl
ass>
        </servlet>



<servlet-mapping>
                <servlet-name>HtmlServlet</servlet-name>
                <url-pattern>/servlets/HtmlServlet</url-pattern>
        </servlet-mapping>
<servlet-mapping>
                <servlet-name>ImageServlet</servlet-name>
                <url-pattern>/servlets/image</url-pattern>
        </servlet-mapping>
------------HtmlServlet.java------------------------

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.sql.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.j2ee.servlets.ImageServlet;
import com.mind.tms.treemenu.*;

public class HtmlServlet extends HttpServlet {
        public ConnTMS connTMS = null;

        public void service(
                HttpServletRequest request,
                HttpServletResponse response)
                throws IOException, ServletException {
                ServletContext context = 
this.getServletConfig().getServletContext();

                response.setContentType("text/html");
                PrintWriter out = response.getWriter();

                try {
                        String reportName = request.getParameter("reportName");
                        File reportFile =
                                new File(
                                        context.getRealPath("/reports/" + 
reportName + ".jasper"));
                        if (!reportFile.exists())
                                throw new JRRuntimeException("File 
WebappReport.jasper not found. The
report design must be compiled first.");

                        JasperReport jasperReport =
                                (JasperReport) 
JRLoader.loadObject(reportFile.getPath());

                        Map parameters = new HashMap();

                        parameters.put("BaseDir", reportFile.getParentFile());
                        parameters.put(JRParameter.IS_IGNORE_PAGINATION, 
Boolean.TRUE);
                        parameters.put("TMS_CODE", 
request.getParameter("parameter"));
                        parameters.put("UNIT_CODE", 
request.getParameter("UNIT_CODE"));
                        parameters.put(
                                "SC_UNIT_CODE",
                                request.getParameter("SC_UNIT_CODE"));
                        parameters.put(
                                "PROJECT_CODE",
                                request.getParameter("PROJECT_CODE"));
                        parameters.put(
                                "COUNTRY_CODE",
                                request.getParameter("COUNTRY_CODE"));
                        parameters.put(
                                "COUNTRYORDER",
                                request.getParameter("COUNTRYORDER"));
                        parameters.put("BPORDER", 
request.getParameter("BPORDER"));
                        parameters.put("VENDORORDER", 
request.getParameter("VENDORORDER"));
                        parameters.put("PRIMEORDER", 
request.getParameter("PRIMEORDER"));
                        parameters.put("SCORDER", 
request.getParameter("SCORDER"));

                        Connection con = null;
                        ConnTMS connTms = ConnTMS.getInstance();
                        try {
                                con = connTms.getConnection();
                        } catch (Exception e) {
                                System.out.println("Exception Occur At 
makeConnection ");
                        }

                        JasperPrint jasperPrint =
                                JasperFillManager.fillReport(jasperReport, 
parameters, con);

                if (jasperPrint.getPages().size() == 0) {
                                RequestDispatcher rd =
                                        
getServletContext().getRequestDispatcher(
                                                
"/reportOption/ErrorReport.jsp");
                                rd.forward(request, response);
                        }
                        JRHtmlExporter exporter = new JRHtmlExporter();

                        request.getSession().setAttribute(
                                
ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
                                jasperPrint);

                        exporter.setParameter(
                                JRHtmlExporterParameter.JASPER_PRINT,
                                jasperPrint);
                        
exporter.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER, out);

                        HashMap fontMap = new HashMap();

                        Map imagesMap = new HashMap();
                        request.getSession().setAttribute("IMAGES_MAP", 
imagesMap);
                        
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
                        
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"image?image=");
                        
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Bo
olean.FALSE);
                        exporter.setParameter(
                                
JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
                                Boolean.FALSE);
                        
exporter.setParameter(JRHtmlExporterParameter.SIZE_UNIT, "px");
                        exporter.setParameter(
                                
JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND,
                                Boolean.FALSE);
                        exporter.setParameter(JRHtmlExporterParameter.FONT_MAP, 
fontMap);

                        exporter.exportReport();

                } catch (JRException e) {
                e.printStackTrace(out);
                }
        }

}



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
jasperreports-questions mailing list
jasperreports-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jasperreports-questions

Reply via email to