الانتقال إلى المحتوى
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.

استدعاء تقرير

Featured Replies

بتاريخ:

السلام عليكم:

 استخدمت الكود التالي من اجل استدعاء تقرير وقد نجح في صفحة jsf 

وكن عندما قمت باستخدامه في jsff  لم ينجح الاستدعاء ويحدث تحديث للصفحة 

...........................................................................................................................................................................................................

package view.backing;
 
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
 
import java.sql.Connection;
 
import java.util.HashMap;
import java.util.Map;
 
import javax.faces.context.FacesContext;
 
import javax.faces.event.ActionEvent;
 
import javax.naming.Context;
import javax.naming.InitialContext;
 
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
 
import javax.sql.DataSource;
 
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRCsvExporter;
import net.sf.jasperreports.engine.export.oasis.JROdtExporter;
import net.sf.jasperreports.engine.export.ooxml.JRDocxExporter;
import net.sf.jasperreports.engine.export.ooxml.JRPptxExporter;
import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;
import net.sf.jasperreports.engine.util.JRLoader;
 
import oracle.adf.model.BindingContext;
 
import oracle.adf.model.binding.DCIteratorBinding;
 
import oracle.binding.BindingContainer;
 
public class JasperForamt {
    
      }
        
       
        
        
       
       
        
    public String runmyreport() {
        try {
            runDocx("myreport.jasper", null);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
}
 
        public String runReportPpt() {
 
        public void runPdf(String repPath, java.util.Map param) throws Exception {
            Connection conn = null;
            try {
                HttpServletResponse response = getResponse();
                ServletOutputStream out = response.getOutputStream();
                response.setHeader("Cache-Control", "max-age=0");
                response.setContentType("application/pdf");
                ServletContext context = getContext();
                InputStream fs = context.getResourceAsStream("/Reports/" + repPath);
                JasperReport template = (JasperReport)JRLoader.loadObject(fs);
                template.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);
                conn = getConnection();
                JasperPrint print = JasperFillManager.fillReport(template, param, conn);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                JasperExportManager.exportReportToPdfStream(print, baos);
                out.write(baos.toByteArray());
                out.flush();
                out.close();
                FacesContext.getCurrentInstance().responseComplete();
            } catch (Exception jex) {
                jex.printStackTrace();
            } finally {
                close(conn);
            }
        }
 
        public void runDocx(String repPath, java.util.Map param) throws Exception {
            Connection conn = null;
            try {
                HttpServletResponse response = getResponse();
                ServletOutputStream out = response.getOutputStream();
                response.addHeader("Content-disposition", "attachment; filename=UserReport.docx");
                ServletContext context = getContext();
                InputStream fs = context.getResourceAsStream("/Reports/" + repPath);
                JasperReport template = (JasperReport)JRLoader.loadObject(fs);
                template.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);
                conn = getConnection();
                JasperPrint print = JasperFillManager.fillReport(template, param, conn);
                JRDocxExporter docxExporter = new JRDocxExporter();
                docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
                docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
                docxExporter.exportReport();
                FacesContext.getCurrentInstance().responseComplete();
            } catch (Exception jex) {
                jex.printStackTrace();
            } finally {
                close(conn);
            }
        }
 
        
 
 
        public Connection getDataSourceConnection(String dataSourceName) throws Exception {
            Context ctx = new InitialContext();
            DataSource ds = (DataSource)ctx.lookup(dataSourceName);
            return ds.getConnection();
        }
 
        private Connection getConnection() throws Exception {
            return getDataSourceConnection("java:comp/env/jdbc/Connection1DS");
        }
 
        public ServletContext getContext() {
            return (ServletContext)getFacesContext().getExternalContext().getContext();
        }
 
        public HttpServletResponse getResponse() {
            return (HttpServletResponse)getFacesContext().getExternalContext().getResponse();
        }
 
        public static FacesContext getFacesContext() {
            return FacesContext.getCurrentInstance();
        }
 
        public BindingContainer getBindings() {
            return BindingContext.getCurrent().getCurrentBindingsEntry();
        }
 
        public void close(Connection con) {
            if (con != null) {
                try {
                    con.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        
        
 
  
 
}
 
   
 
 
 
///////////////
 
 
 
 
 
 
 
 
بتاريخ:

هل الصفحة في نفس المسار النسبي للتقرير؟

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

نعم في المسار .. لقد تم حل المشكلة بوضع المكون File Download Action listener

شكرا لك 

بتاريخ:

العفو

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

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

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

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

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

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.