ArrayList<UserInfo> arrayList=new ArrayList<UserInfo>(); UserInfo userInfo; Calendar aa = Calendar.getInstance(); for(int i=0;i<100;i++){ String date = ""; userInfo=new UserInfo(); userInfo.setName("name"+"00"+i); userInfo.setAge(i); if(i%30==0){ //java.util.Date dd = new java.util.Date(); aa.add(Calendar.MONTH, 1); } date += aa.get(Calendar.YEAR)+"/"; if(aa.get(Calendar.MONTH)+1<10){ date += "0"+(aa.get(Calendar.MONTH)+1)+"/"; }else{ date += (aa.get(Calendar.MONTH)+1)+"/"; } date += aa.get(Calendar.DAY_OF_MONTH); userInfo.setMyDate(date); arrayList.add(userInfo); } String jrxmlName="ceShi"; String fileName= request.getSession().getServletContext().getRealPath("")+"/WEB-INF/reports/" + jrxmlName + ".jasper";; JRBeanCollectionDataSource jr = new JRBeanCollectionDataSource(arrayList); Hashtable<String, Object> parameters=new Hashtable<String, Object>(); parameters.put("time", "20090808"); JasperPrint print; String pdfFullPath=""; try { byte[] bytes =JasperRunManager.runReportToPdf(fileName,parameters,jr); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); } catch (JRException e) { // TODO Auto-generated catch block e.printStackTrace(); }