<% @ page contentType = " text/html;charset=GBK " %> <% @ taglib uri = " /WEB-INF/runqianReport4.tld " prefix = " report " %> <% @ page import = " java.util.* " %> <% @ page import = " java.io.* " %> <% @ page import = " com.runqian.report4.model.* " %> <% @ page import = " com.runqian.report4.usermodel.* " %> <% @ page import = " com.runqian.report4.util.* " %> < html > < head > < title > 润乾报表4. 0 </ title > </ head > <% // 根据报表,生成参数与宏的字符串 request.setCharacterEncoding( " GBK " ); String report = request.getParameter( " report " ); if (report.indexOf( " .raq " ) < 0 ) report += " .raq " ; // 第一步,读取报表模板 InputStream fis = application.getResourceAsStream( " /reportFiles/ " + report); ReportDefine rd = (ReportDefine)ReportUtils.read( fis ); // 第二步,生成报表所需要的宏或参数的字符串 ParamMetaData pmd = rd.getParamMetaData(); StringBuffer params = new StringBuffer(); String temp = "" ; if (pmd != null ) ... { int pmdNum = pmd.getParamCount(); //取得报表中参数个数 for(int i = 0;i <pmdNum; i ++)...{ temp = pmd.getParam(i).getParamName(); //取得其中参数名 params.append( temp ); params.append("="); params.append(request.getParameter(temp)); //根据参数名找到url传递过的参数值 params.append(";"); } } MacroMetaData mmd = rd.getMacroMetaData(); // 同上,只是取得宏而已 if (mmd != null ) ... { int mmdNum = mmd.getMacroCount(); for(int i = 0; i < mmdNum; i ++)...{ temp = mmd.getMacro(i).getMacroName(); params.append( temp ); params.append("="); params.append(request.getParameter(temp)); params.append(";"); } } %> < body > < report:html name = " report1 " reportFileName = " <%=report%> " funcBarLocation = " top " params = " <%=params.toString()%> " /> </ body > </ html > 有个问题是:如何将参数表单中的参数和url中参数联合起来,传递给报表??? 也就是当点参数表单中的查询时顺便要将url中参数也传进报表? <% String num=request.getParameter("num"); String num_param="num="+num; %> <report:param name="report0" paramFileName="graph_itemNo_param.raq" needSubmit="" hiddenParams="<%=num_param %>" />