javabean作为数据源
在IReport中是Javabean作为数据源 因为在项目中用到报表功能学习了这个Ireport做为报表设计,期初遇到很多问题,最后还是出来了
初次研究 网上也看了很多文章杂七杂八 来点简单的 关注重点一些基本操作就不在描述了
1、看看实体类 getXXX() setXXX()就滤过了
- package org.share.domain.tree.entity;
-
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
-
- public class UserInfo implements Serializable {
-
- private static final long serialVersionUID = -7171469571123003370L;
- private String user_id;
- private String user_name;
- private String age;
- private String phone;
- private String address;
-
- public static List<UserInfo> getListUserInfo(){
- UserInfo u= new UserInfo();
- u.setAddress("aaaaaaaaaaaaa");
- u.setAge("2");
- u.setPhone("1232423423");
- u.setUser_name("aaaaa");
- List<UserInfo> user=new ArrayList<UserInfo>();
- user.add(u);
- user.add(u);
- return user;
- }
- }
2、打开软件 将javabean所在class添加到工具中的classpath中,我这里用的是maven 选择后点击保存
3、我用了个list控件 加上一个矩形控件 如图
4、把Javabean中的字段添加到list控件中的数据源中 如图
5、将字段添加到控件上 如图
6、给组件list设置数据源 connection/datasource expression 表达式:$P{REPORT_PARAMETERS_MAP}.get("beans") 因为我后台map中设置的名就叫beans
7、后台代码 我用的是spingmvn 只有来生成pdf文件 没其他操作:
- @RequestMapping(value="/csd",method=RequestMethod.GET)
- public void createFilePdfsd(HttpServletRequest request){
-
- String fileepath=request.getSession().getServletContext().getRealPath("template/repConReport.pdf");
- try{
-
- File f=new File(fileepath);
- if(!f.exists()){
- f.createNewFile();
- }
-
- Map<String, Object> parameters=new HashMap<String, Object>();
-
-
- List<UserInfo> userList= UserInfo.getListUserInfo();
-
- JRDataSource data= new JRBeanCollectionDataSource(userList);
-
- parameters.put("beans", data);
-
- String ctxpathIreport=request.getSession().getServletContext().getRealPath("jasper/report5.jasper");
- File reportFile=new File(ctxpathIreport);
-
- JasperReport jasperReport=(JasperReport)JRLoader.loadObject(reportFile);
-
- JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
-
- JasperExportManager.exportReportToPdfFile(jasperPrint,fileepath);
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
8、效果图效果图如下: