jsp循环打印报表问题
需求描述:
1.客户方共有100个左右的门店可供选择,一般都是选择所有门店。
2.将选中的门店(比如100家)的门店号信息传入后台。
3.根据传入的门店号信息来查询数据库,将查询到的数据信息传入jsp页面并打印。
客户要求:
1.对传递到后台的门店信息选择分批打印,比如有100个门店号被传入后台构成一个数组或集合
然后遍历这个数组或集合查询完一个门店下面的信息后将信息传递到前台jsp页面并自动连接
打印机打印,一个门店的信息打印完成后,再自动进行下一个门店信息的查询和打印,知道所选
的门店遍历完成。
问题描述:
目前我的思路是,
1.对传入后台的门店号封装成一个数组arrayMId[]
2.遍历这个数组
List list=new ArrayList();
for(int i=0;i<arrayMId.length;i++){
list=DataUtil.getDate();//根据门店号查询其对应的数据信息,并将其封装到集合list中
session.setAttribute("list",list);//将list信息存入session中
request.getDispatcher("print.jsp").forword();//调转到需要打印门店信息的页面,并再页面加载完成后自动连接打印机并打印页面信息
}
3.问题是当执行一次调转程序.forword()以后,就已经跳出了该数组arrayMId[]的循环了,没法再继续循环执行剩下的99个门店信息的查询和打印了。
------解决方案--------------------
可以考虑、在页面做循环嘛~~~!!!
如果是怕数据太多、速度慢的话、可以做一个Ajax循环提交~~~!!!
------解决方案--------------------
一般两种套路:
1、每次打印完,JSP就带参数刷新自己,继续打印下一页;
2、用IFrame将页面切分操作,或者用Ajax分批取数据。
其实如果对分页没啥严格要求的话,一口气全弄出来打印完算了。