jasperreport 结合struts2开发报表

jasperreort 结合struts2开发报表 可以完成动态信息显示。jasperreport 的报表显示的数据是通过struts2的上下文信息获取的。实现的基本步骤为:
1。使用ireport 可视化编写报表格式和内容;后缀为jrxml,当点击preview时会生成jasper文件。
2。在Action中新建一个Action方法。

public String reportHTML() throws Exception {
try {
order = orderDao.findByOrderId(order.getOrderId());
//order = orderDao.findByCustomer();
String reportSource;
reportSource = ServletActionContext.getServletContext()
.getRealPath("/jasper/report1.jrxml");
File parent = new File(reportSource).getParentFile();
//将.jrxml模板文件编译成为.jasper文件,当然,其文件名可以指定,如果没指定,则与.jrxml文件名一样.只是后缀不同而已
JasperCompileManager.compileReportToFile(reportSource, new File(parent, "report1.jasper").getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
return SUCCESS;
}

3。在struts2配置文件中配置该action方法,这里package的extends一定要继承jasperreports-default,result的type必须 是jasper类型的。format可以是HTML,XML,PDF,CSV,XLS格式

<package name="default" namespace="/report" extends="shop.front,jasperreports-default">
<action name="order_*" class="orderAction" method="{1}">
<result name="success" type="jasper">
<param name="location">
/jasper/report1.jasper
</param>
<param name="dataSource">order</param>
<param name="format">HTML</param>
</result>
<interceptor-ref name="customerDefaultStack"/>
</action>
</package>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章