快速业务通道

JasperReport那些事儿(二)——从对象到XML数据源 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
tic final void main(String [] args) throws Exception { Person person1=new Person(); person1.setName("张三"); person1.setGender("男"); person1.setAge(35); Person person2=new Person(); person2.setName("李四"); person2.setGender("女"); person2.setAge(25); ArrayList<Person> al=new ArrayList<Person>(); al.add(person1); al.add(person2); NameList nameList=new NameList(); nameList.setList(al); try{ BeanToXMLConverter wea=new BeanToXMLConverter(); wea.writeToXMLFile(nameList); }catch(Exception e){ e.printStackTrace(); } } private void writeToXMLFile(Object obj)throws Exception{ StringWriter outputWriter = new StringWriter(); outputWriter.write("<?xml version=''1.0'' ecoding=''UTF-8'' ?>\n"); BeanWriter beanWriter = new BeanWriter(outputWriter); beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false); beanWriter.getBindingConfiguration().setMapIDs(false); beanWriter.enablePrettyPrint(); beanWriter.write(obj); String xmlFilePath=FILE_PATH; File xmlFile=new File(FILE_PATH); if(!xmlFile.exists()){ xmlFile.createNewFile(); } FileWriter fw=new FileWriter(xmlFilePath); fw.write(outputWriter.toString().toCharArray()); fw.flush(); System.out.println(outputWriter.toString()); outputWriter.close(); } }

NameList类代码。

1 package com.blogjava.heis.jasper.chapter2; 2 3 import java.util.List; 4 5 public class NameList { 6 7 private List<Person> list; 8 9 public List<Person> getList() { 10 return list; 11 } 12 13 public void setList(List<Person> list) { 14 this.list = list; 15 } 16 } 17

运行以上的代码需要四个包,commons-betwixt.jar,commons-logging.jar, commons-collections.jar, commons-beanutils-core.jar。这些都可以从http://commons.apache.org/下载。JDK需要1.5或以上。

看到这里你心里也许开始矛盾(或者不屑),对,同事Q也是这样想的。

Q:“这不是摆明更麻烦么?对象转换为XML,再从XML查数据,你这瞎折腾我,浪费资源在转换上!!”

俺:“也许是多了一些功夫,多占用了点资源。但是这可以让报表的数据可读性更强,更重要的是报表制作可以和SQL说拜拜,他和对象走得更密切了。”

Q:“但是你的XML文件不是还是需要查询么?你能保证那些查询语句比SQL更简单么?”

俺:“我能给你肯定的回答。但是XML的查询就要留到下一章去介绍了。这星期OT比较多,先溜啦,88。”

Q:“哎,你给我说清楚点再走……”

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号