JasperReports+iReport+Hibernate+struts的使用

来源:互联网 发布:亿和数据 编辑:程序博客网 时间:2024/04/30 15:34
 
JasperReports+iReport+Hibernate+struts的使用

一、在struts的struts-config.xml文件中,先建一个LoginForm、LoginAction、Login.jsp页

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
   <data-sources />
   <form-beans >
     <form-bean name="loginForm" type="com.struts.form.LoginForm" />

   </form-beans>

   <global-exceptions />
   <global-forwards />
   <action-mappings >
     <action
       attribute="loginForm"
       input="/login.jsp"
       name="loginForm"
       path="/login"
       scope="request"
       type="com.struts.action.LoginAction" />

   </action-mappings>

   <message-resources parameter="com.struts.ApplicationResources" />
</struts-config>

二、把Hibernate映射完成后,编写一个实现类为StudentDao.java

package org.dao;

import java.util.HashMap;
import java.util.List;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
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.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;

import org.hibernate.HibernateException;
import org.hibernate.HibernateSessionFactory;
import org.hibernate.MappingException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import antlr.RecognitionException;

public class StudentDao {

public void ar()
{    List li=null;
   String sampleReportFile=new String("d://new_report5.jrxml");
  
   try{
    Session session=HibernateSessionFactory.getSession();
    //Transaction tr=session.getTransaction();
    li=session.createQuery("from Student").list();
    HashMap parameters=new HashMap();     
      parameters.put("ReportTitle","Bowling Scores");
      parameters.put("NoOfGames", new Integer(3));
     
     // JasperDesign design=JRXmlLoader.load(sampleReportFile);
      //JasperReport report=new JasperCompileManager().compileReport(design);
     // JasperPrint print=JasperFillManager.fillReport(report,parameters,new JRBeanCollectionDataSource(li));
     // JasperExportManager.exportReportToPdfFile(print,"d://simpleHibernatExample.pdf");
     // tr.commit();
      JasperDesign design=JRXmlLoader.load(sampleReportFile);
      JasperReport report=new JasperCompileManager().compileReport(design);
      JasperPrint print=JasperFillManager.fillReport(report,parameters,new JRBeanCollectionDataSource(li));
      JasperExportManager.exportReportToPdfFile(print,"d://simleHibernateException.pdf");
      //tr.commit();
    }catch(JRException jre){
       jre.printStackTrace();
      }catch(MappingException me){
       me.printStackTrace();
      }catch(HibernateException he){
       he.printStackTrace();
      }
     
}

}
三、在LoginAction.java中进行调用

   new StudentDao().ar();

这里是把.jasper文件保存成了.pdf格式,想保存成html和xls也一样

 

原创粉丝点击