iReport + jasperreports + struts 2 集成开发报表
来源:互联网 发布:冰雅蝶雪恋 知乎 编辑:程序博客网 时间:2024/06/11 23:53
项目准备:
1、使用iRrport 设计一个jrxml文件并把其编译成jasper格式的文件
2、下载项目中所需要的包,基本上是下面这些,下面的这些我是使用SSH2的框架,可以看情况而使用那些包
项目开发《本项目使用的是javabean作为数据源》:
JavaBean:
package com.jr.bean;import java.math.BigDecimal;/** * 员工信息bean * @author HRQ * */public class Employee {private Integer id;private String name;private BigDecimal saly;private String detpName;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public BigDecimal getSaly() {return saly;}public void setSaly(BigDecimal saly) {this.saly = saly;}public String getDetpName() {return detpName;}public void setDetpName(String detpName) {this.detpName = detpName;}}action:
package com.jr.action;import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;import com.jr.bean.Employee;import com.jr.service.IEmployeeService;import com.opensymphony.xwork2.ActionSupport;public class EmployeeAction extends ActionSupport{/** * */private static final long serialVersionUID = 6093380186451210429L;private IEmployeeService emservice;private List<Employee> list;@Overridepublic String execute() throws Exception {if(list == null){list = new ArrayList<Employee>();Employee em = new Employee();em.setId(1001);em.setName("张三");em.setDetpName("游戏部");em.setSaly(new BigDecimal(4500));list.add(em);em = new Employee();em.setId(1002);em.setDetpName("开发部");em.setSaly(new BigDecimal(3500));em.setName("王五");list.add(em);em = new Employee();em.setId(1003);em.setDetpName("开发部");em.setSaly(new BigDecimal(3500));em.setName("serch");list.add(em);}return SUCCESS;}public String jasperImage(){return SUCCESS;}public IEmployeeService getEmservice() {return emservice;}public void setEmservice(IEmployeeService emservice) {this.emservice = emservice;}public List<Employee> getList() {return list;}public void setList(List<Employee> list) {this.list = list;}}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.action.extension" value="action" /> <package name="test" extends="struts-default,jasperreports-default" ><action name="testjasper" class="com.jr.action.EmployeeAction" ><result name="success" type="jasper"><param name="location">WEB-INF/jaspers/report2.jasper</param><param name="dataSource">list</param><param name="imageServletUrl"><![CDATA[/image?image=]]></param> <param name="format">HTML</param><param name="documentHeader">bill_no2</param> </result><result name="input">/test.jsp</result></action></package></struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>JaspreRepots</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 配置资源 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/conf/spring-*.xml</param-value> </context-param> <!-- 配置CharacterEncoding,设置字符集 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> --> <!-- 将HibernateSession开关控制配置在Filter,保证一个请求一个session,并对lazy提供支持 <filter> <filter-name>hibernateFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>--> <!-- 配置spring --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> <!-- <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,/WEB-INF/conf/struts.xml</param-value> </init-param> --> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 页面session配置 --> <session-config> <session-timeout>20</session-timeout> </session-config> <servlet > <servlet-name>imageServlet</servlet-name> <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>imageServlet</servlet-name> <url-pattern>/image</url-pattern> </servlet-mapping> <!-- 错误页面 <error-page> <error-code>404</error-code> <location>/error404.html</location> </error-page>--></web-app>
项目问题:打印HTML格式图片不出来
解决办法:
在struts.xml文件中写以下代码
在web.xml中配置servlet
备注:struts.xml文件中的
<param name="imageServletUrl"><![CDATA[/image?image=]]></param>
image访问的路径就是web.xml文件中配置的servlet访问的路径
这样就可以解决图片不显示的问题了,但是访问这个action后缀名必须带上.action,否则拦截不到
- iReport + jasperreports + struts 2 集成开发报表
- iReport+JasperReports报表开发入门篇
- ireport+jasperreports报表开发总结一(Struts2)
- 报表工具之JasperReports+iReport(2)
- 报表工具之JasperReports+iReport(2)
- JasperReports + iReport 4.0 开发制作日文报表项目
- iReport+jasperReports制作WEB报表
- iReport+jasperReports制作WEB报表
- jasperReports+ireport 报表制作流程
- jasperreports+ireport 报表静态文本
- iReport+jasperReports制作WEB报表
- ireport与jasperreports开发总结
- ireport与jasperreports开发总结
- 报表工具之JasperReports+iReport(1)
- 报表工具之JasperReports+iReport(3)
- 报表工具之JasperReports+iReport(4)
- 报表工具之JasperReports+iReport(5)
- 报表工具之JasperReports+iReport(1)
- jdbc中statement 详解
- 输出指定长度的字符串不够的补充空格
- C#连接Oracle数据库的简单应用
- 数据库列类型为datetime显示的时间是1905的问题
- 在eclipse中配置Struts2
- iReport + jasperreports + struts 2 集成开发报表
- iOS常识
- list使用中遇到的erase问题(List Iterator Not Incrementable)
- Java防止SQL注入的几个途径
- 如何在Eclipse中查看JDK类库的源代码
- 条码解析
- ORA-00979 不是group by 表达式 .
- JFreeChart的Swing图形例子(饼图)
- IE下window.onresize 多次调用和死循环bug处理