الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ممكن بالتفصيل شرح استدعاء (Jasper Report Into Adf)

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم

ممكن بالتفصيل شرح استدعاء

(Jasper Report Into ADF)

بتاريخ:

لعرض تقرير معمول بال jasper

ضع الكود التالي في Servlet

package myclasses;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JRCsvExporter;
import net.sf.jasperreports.engine.export.JRGraphics2DExporter;
import net.sf.jasperreports.engine.export.JRGraphics2DExporterParameter;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRRtfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;

public class showreports extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
public void init(ServletConfig config) throws ServletException {
	super.init(config);
}
public void doGet(HttpServletRequest request,
				  HttpServletResponse response) throws ServletException,
													   IOException {
	response.setContentType(CONTENT_TYPE);

	try {
	  
		String appid=request.getParameter("id");
		String type=request.getParameter("type");
		if (appid.length()<1){
			return;
		}
		Context ctx = new InitialContext();
		DataSource ds =
			(DataSource)ctx.lookup("java:comp/env/jdbc/TDISDS");

		Connection conn = ds.getConnection();
		//		InputStream input = new FileInputStream(new File(getServletConfig().getServletContext()
		//		.getRealPath("/reports/parReport.jrxml")));

		InputStream input = new FileInputStream(new File(("c:/appldata")));

		JasperDesign design = JRXmlLoader.load(input);

		String qu = design.getQuery().getText();
		JRDesignQuery query = new JRDesignQuery();
		query.setText(qu +
					  " where id='"+appid+"'");
		design.setQuery(query);

		JasperReport report = JasperCompileManager.compileReport(design);
		// Integer code = (Integer)request.getAttribute("deptno");
		String reporttype = "pdf";
	  //  Map parameters = new HashMap();
		// parameters.put("DeptNo", code);
		JasperPrint jasperPrint =
			JasperFillManager.fillReport(report, null, conn);

	  
  
		OutputStream out1 = response.getOutputStream();
		Image image =
			JasperPrintManager.printPageToImage(jasperPrint, 0, 1.5f);

		BufferedImage pageImage =
			new BufferedImage(image.getWidth(null)+1, image.getHeight(null)+1,
							  BufferedImage.TYPE_INT_RGB);
		pageImage.getGraphics().drawImage(image, 1, 1, null);

		ImageIO.write(pageImage, "jpeg", out1);
		out1.close();
	
		/////////////////////

  
	  
	  
	}
	  
	  
	} catch (SQLException sqle) {
	  
		sqle.printStackTrace();
	} catch (NamingException ne) {
	  
		ne.printStackTrace();
	} catch (FileNotFoundException fnfe) {
	  
		fnfe.printStackTrace();
	} catch (IOException ioe) {
	  
		ioe.printStackTrace();
	} catch (JRException jre) {
		
		jre.printStackTrace();
	} finally {
	}
	  
	  
	  

													   }  
}




ضع الكود التالي في image

/showreports?id=11

بتاريخ:
  • كاتب الموضوع

شكرا جزيلا

انا فعلا والحمد لله انجزت

المشروع ومنه عمل التقارير واستدعائها



package view;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.AppModuleImpl;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import oracle.jbo.client.Configuration;

public class ReportServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
public void init(ServletConfig config) throws ServletException {
	super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	response.setContentType(CONTENT_TYPE);
	PrintWriter out = response.getWriter();
	out.println("<html>");
	out.println("<head><title>ReportServlet</title></head>");
	out.println("<body>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	OutputStream ouputStream = null;
	try {
		PreparedStatement st = null;
		AppModuleImpl am =
			(AppModuleImpl)Configuration.createRootApplicationModule("model.AppModule", "AppModuleLocal");
		st = am.getDBTransaction().createPreparedStatement("select 1 from dual", 0);
		Connection conn = st.getConnection();
		InputStream input =
			new FileInputStream(new File(getServletConfig().getServletContext().getRealPath("Dev.jrxml")));
		JasperDesign design = JRXmlLoader.load(input);
		JasperReport report = JasperCompileManager.compileReport(design);
		BigDecimal ChkNo = (BigDecimal)request.getAttribute("ChkNo");
		BigDecimal USRID = (BigDecimal)request.getAttribute("USRID");
		BigDecimal DPTID = (BigDecimal)request.getAttribute("DPTID");
		BigDecimal CMPID = (BigDecimal)request.getAttribute("CMPID");
		Map parameters = new HashMap();
		parameters.put("ChkNo", ChkNo);
		parameters.put("USRID", USRID);
		parameters.put("DPTID", DPTID);
		parameters.put("CMPID", CMPID);
		JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters, conn);
		response.setContentType("application/pdf");
		response.setHeader("Content-Disposition", "attachement; filename=\"file.pdf\"");
		ouputStream = response.getOutputStream();
		JRExporter exporter = null;
		exporter = new JRPdfExporter();
		exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
		exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
		exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "CP1256 (Arabic)");
		exporter.exportReport();
		ouputStream.flush();
		ouputStream.close();
	} catch (Exception ex) {
		ex.printStackTrace();
	} finally {
		if (ouputStream != null) {
			ouputStream.flush();
			ouputStream.close();
		}
	}
}
}

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.