代码
//传入list实现打印。推荐使用。方便快捷。
protected void MingPrint(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, List list)
throws Exception {
BasicActionForm form = (BasicActionForm) actionForm;
String reportName = (String) form.getReservedProp("reportName");
if (reportName == null) {
throw new java.lang.UnsupportedOperationException(
"Reserved property 'reportName' not set yet!");
}
System.out.println("报表名称:"+reportName);
MREngine engine = null;
MRDataSet mrds = new MRDataSet();;
//ResultSet rs = DBTool.getResultSet(sql);
//if (rs == null) {
// System.out.println("rs is null");
//}
try {
engine = new MREngine(httpServletRequest, httpServletResponse,
servlet.getServletContext());
engine.setRootPath("/Reports/");
// GBK字符集支持
engine.setUnicodeOption(1);
} catch (Exception e) {
System.err.println("根据数据集生成如意报表出错:" + e.getMessage());
}
/System.out.println("传入的list="+list.toString());
int w = list.size();
int k ;
for( k=0; k < w; k++){
DataRecord dataRecord = new DataRecord();
Map dataRecordMap = (Map)list.get(k);
/System.out.println("dataRecordMap="+dataRecordMap.toString());
Iterator it = dataRecordMap.keySet().iterator();
while(it.hasNext()){
String columnName = it.next().toString();
//System.out.println(columnName);
Object obj = dataRecordMap.get(columnName);
dataRecord.setValue(columnName,obj);
}
mrds.addRow(dataRecord);
}
engine.addMRDataSet(reportName, mrds);
// engine.addMRDataSet(reportName, mrds);
engine.addReport(reportName);
byte[] mingData = engine.bind();
/ System.out.println(mingData.length);
httpServletRequest.getSession().setAttribute("mingData", mingData);
}
Action中只需要一句:
java 代码
//一句搞定打印。
this.MingPrint(mapping, form, request, response, userDao.findForListByName("user"));
因篇幅问题不能全部显示,请点此查看更多更全内容