- 论坛徽章:
- 0
|
1.页面部分:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>;
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>;
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>;
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>;
<%@ taglib uri="/WEB-INF/struts-extends.tld" prefix="extends" %>;
<%@ taglib uri="/WEB-INF/attributes.tld" prefix="attributes" %>;
<%@ page import="java.util.*"%>;
<%@ page import="dori.jasper.engine.JRDataSource" %>;
<%@ page import="dori.jasper.engine.*" %>;
<%@ page import="java.io.*" %>;
<%@ page import="java.sql.*" %>;
<%@ page import="javax.servlet.ServletOutputStream" %>;
<%@page import="com.csair.booking.util.BookUtil"%>;
<%@page import="com.csair.booking.common.PnrOperationLog,
com.csair.util.DateTimeFormatUtil,
com.csair.booking.web.SessionNames,
com.csair.frame.web.PermissionManager,
com.csair.frame.common.GlobalKey,
com.csair.frame.exception.SystemErrorNo,
org.apache.struts.action.Action"
%>;
<%
File reportFile = new File(application.getRealPath("operationStatDisplay.jasper" );
System.out.println(reportFile.getPath()+" ------This is the jasper file path." ;
Map parameters = new HashMap();
parameters.put("ReportTitle", "OpeartionStat" ;
final JRDataSource jrDataSource = new JRDataSource(){
//private String[] columnNames = {"City", "Id", "Name", "Street"};
private Object[][] data =
{
{"Berne", new Integer(22), "Bill Ott", "250 - 20th Ave."},
{"Berne", new Integer(9), "James Schneider", "277 Seventh Av."},
{"Boston", new Integer(32), "Michael Ott", "339 College Av."},
{"Boston", new Integer(23), "Julia Heiniger", "358 College Av."},
{"Chicago", new Integer(39), "Mary Karsen", "202 College Av."},
{"Chicago", new Integer(35), "George Karsen", "412 College Av."},
{"Chicago", new Integer(11), "Julia White", "412 Upland Pl."},
{"Dallas", new Integer(47), "Janet Fuller", "445 Upland Pl."},
{"Dallas", new Integer(43), "Susanne Smith", "2 Upland Pl."},
{"Dallas", new Integer(40), "Susanne Miller", "440 - 20th Ave."},
{"Dallas", new Integer(36), "John Steel", "276 Upland Pl."},
{"Dallas", new Integer(37), "Michael Clancy", "19 Seventh Av."},
{"Dallas", new Integer(19), "Susanne Heiniger", "86 - 20th Ave."},
{"Dallas", new Integer(10), "Anne Fuller", "135 Upland Pl."},
{"Dallas", new Integer(4), "Sylvia Ringer", "365 College Av."},
{"Dallas", new Integer(0), "Laura Steel", "429 Seventh Av."},
{"Lyon", new Integer(3 , "Andrew Heiniger", "347 College Av."},
{"Lyon", new Integer(2 , "Susanne White", "74 - 20th Ave."},
{"Lyon", new Integer(17), "Laura Ott", "443 Seventh Av."},
{"Lyon", new Integer(2), "Anne Miller", "20 Upland Pl."},
{"New York", new Integer(46), "Andrew May", "172 Seventh Av."},
{"New York", new Integer(44), "Sylvia Ott", "361 College Av."},
{"New York", new Integer(41), "Bill King", "546 College Av."},
{"Oslo", new Integer(45), "Janet May", "396 Seventh Av."},
{"Oslo", new Integer(42), "Robert Ott", "503 Seventh Av."},
{" aris", new Integer(25), "Sylvia Steel", "269 College Av."},
{" aris", new Integer(1 , "Sylvia Fuller", "158 - 20th Ave."},
{" aris", new Integer(5), "Laura Miller", "294 Seventh Av."},
{"San Francisco", new Integer(4 , "Robert White", "549 Seventh Av."},
{"San Francisco", new Intege(7), "James Peterson", "231 Upland Pl."}
};
private int index = -1;
/**
*
*/
public boolean next() throws JRException
{
index++;
return (index < data.length);
}
/**
*
*/
public Object getFieldValue(JRField field) throws JRException
{
Object value = null;
String fieldName = field.getName();
if ("city".equals(fieldName))
{
value = data[index][0];
}
else if ("id".equals(fieldName))
{
value = data[index][1];
}
else if ("name".equals(fieldName))
{
value = data[index][2];
}
else if ("street".equals(fieldName))
{
value = data[index][3];
}
return value;
}
};
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
parameters,
jrDataSource);
response.setContentType("application/pdf" ;
response.setContentLength(bytes.length);
System.out.println(bytes.length);
for(int i=0;i<bytes.length;i++){
System.out.println(bytes);
}
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(bytes,0,bytes.length);
outputStream.flush();
outputStream.close();
%>;
2. 用iReport 编辑的部分:有ID,NAME,STREET,CITY四个filed,一个Parameter.编译测试正常。
当运行到该Jsp页面是抛出:java.net.ProtocolException: Exceeded stated content-length of: '12807' bytes。
|
|