中国开发网: 论坛: 程序员情感CBD: 贴子 503155
wynnhjg
全部是偶一个一个的敲进去的,容易吗?
package com.zctt.vip.web.actions;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.zctt.vip.exceptions.VipSysException;
import com.zctt.vip.report.dao.OrderReportDAO;
import com.zctt.vip.report.dao.OrderReportDAOFactory;
import com.zctt.vip.report.model.OrderReportDTO;
import com.zctt.vip.web.forms.OrderReportForm;

public class OrderReportAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
OrderReportForm form = (OrderReportForm) actionForm;
ActionForward forword = null;
OrderReportDAO dao = null;
HttpSession session = httpServletRequest.getSession(true);
if (form.getActionType().equals("preReport")) {
forword = actionMapping.findForward("init");
} else if (form.getActionType().equals("report")) {

ArrayList list =new ArrayList();
try {
dao = OrderReportDAOFactory.getDAO();
ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();
String path = httpServletRequest.getRealPath(".");
File file = new File(path + "\\report\\xml\\BeanDSReport.jasper");
InputStream reportStream = new FileInputStream(file);
list=dao.getOrderReport(form.getStartDate(), form.getEndDate());
OrderReportDTO[] OrderReportDTOS=dao.getOrderReport(list);
JRDataSource dataSource=this.createReportDataSource(OrderReportDTOS);
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, new HashMap(), dataSource);
httpServletResponse.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();

} catch (VipSysException ex) {

}
catch(IOException e){

}
catch (Exception e) {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
httpServletResponse.setContentType("text/plain");
}
}

return null;
}
private JRDataSource createReportDataSource(Object[] DTOs){
return new JRBeanArrayDataSource(DTOs);
}

}

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录