struts2 - display generated report via jaspereports on browser -
i'm developping struts2 app,and want show generated report on browser. i've succefully generate report on disk.but want see @ browser.here code.
my index.jsp
<body> <a href="html.action">reporting</a> </body>
my action databeanlist
public class databeanlist extends actionsupport { public arraylist<databean> getdatabeanlist() { arraylist<databean> databeanlist = new arraylist<databean>(); databeanlist.add(produce("manisha", "india")); databeanlist.add(produce("dennis ritchie", "usa")); databeanlist.add(produce("v.anand", "india")); databeanlist.add(produce("shrinath", "california")); databeanlist.add(produce("issam", "casa")); return databeanlist; } /** * method returns databean object, * name , country set in it. */ private databean produce(string name, string country) { databean databean = new databean(); databean.setname(name); databean.setcountry(country); return databean; } public void exporte(){ string sourcefilename = "d://test/workspace/ztest/webcontent/reports/jasper_report_template.jasper"; // + "test/jasper_report_template.jasper"; //d:\test\workspace\ztest\webcontent\reports string printfilename = null; databeanlist databeanlist = new databeanlist(); arraylist datalist = databeanlist.getdatabeanlist(); jrbeancollectiondatasource beancoldatasource = new jrbeancollectiondatasource(datalist); map parameters = new hashmap(); try { printfilename = jasperfillmanager.fillreporttofile(sourcefilename, parameters, beancoldatasource); if (printfilename != null) { /** * 1- export pdf */ jasperexportmanager.exportreporttopdffile(printfilename, "d://sample_report.pdf"); } } catch (jrexception e) { e.printstacktrace(); } } }
first of export report stream, that:
jasperprint jasperprint = jasperfillmanager.fillreport(jasperreport, parameters, beandatasource); jasperexportmanager.exportreporttopdfstream(jasperprint, out);
then convert output stream input stream , assign inside action inputstream
variable getters/setters. , configure action use stream
result.
<action ...> <result type="stream"> <param name="inputname">inputstream</param> <param name="contenttype">application/pdf</param> <param name="contentdisposition">attachment;filename="report.pdf"</param> </result> </action>
Comments
Post a Comment