当前位置:文档之家› 润乾问题集锦FAQ

润乾问题集锦FAQ


配 置 datasource 的名字、数据库 类型、数据编码
如何将定义好的润乾报表在 web 上进行发布? 答:将润乾报表安装包里 web 目录下的所有文件(除了 web.xml) ,拷贝到你的 web 应用目 录下,将润乾报表提供的 web.xml 文件中的内容拷贝到你的 web.xml 文件中;把报表文件部 署在 web 应用的 reportFiles 目录下,在 jsp 中调用 tag 标签来发布报表。tag 标签的写法参照 《润乾报表在 web 中的使用说明》 。 在 webserver 中配置 datasource,将 datasource 的名字在 web.xml 中进行配置。 报表工具是单线程的还是多线程的? 答:多线程的。 日志文件的位置我可以调整吗?还是就是规定好的? 答:可以在 web.xml 里进行配置。 <report:html 标签里面的属性,可以使用变量吗?类似<report:html name="report" reportFileName="tmp.raq" width="2000" params="Time=jsp 变量" 答:和 html 语法相同,需要用到变量的地方,用<%=变量名%>;但是一个属性里只能用一 个变量,所以如果你的属性值是由多个变量组成的,你要在 java 代码里先把这些变量拼成 一个变量 例 如 : <report:html name="report" reportFileName="tmp.raq" width="2000" params="Time=jsp 变量" 要在 java 代码里先这样写:jsp 变量="time="+jsp 变量 然 后 在 标 签 中 这 样 写 : <report:html name="report" reportFileName="tmp.raq" width="2000" params="<%=jsp 变量%>" 报表在编辑器中预览正常,但是在 WEB 发布时,从数据库中取出的汉字乱码 答:检查 web.xml 文件中,对应 datasource 的数据编码配置是否正确。 设计器端报表预览可以出来数据,但是服务器端发布的时候数据出不来: 答:先看应用服务器启动的时候,有没有报错,可能是授权证书没有拷贝到 WEB-INF 的目 录下;然后,再比较 runqianReport.jar 看是否一致;最后检查 datasource 的配置是否正确。
<report:param name="studentParam" paramFileName="studentParam.raq" /> <report:html name="student" reportFileName="student.raq" funcBarLocation="boTh" needPageMark="yes" functionBarColor="#fff5ee" funcBarFontSize="9pt" funcBarFontColor="blue" separator="&nbsp;&nbsp;" needSaveAsExcel="yes" needSaveAsPdf="yes" needPrint="yes" pageMarkLabel="页号{currpage}/{totalPage}" printLabel="打印" displayNoLinkPageMark="yes" params="class=2;sex=1" saveAsName="学生成绩表" /> </body> </html> 运行结果如下图所示:
在页面发布的时候,把结果形成 PDF 文件,但会出现乱码。 语句如下: ServerletOutputStream outputstream = response.getOutputStream(); response.setContentType("application/pdf"); report.exportToPDF(outputstream); outputstream.flush(); outpurstream.close(); 错在哪里? 答:应该首先设置 response.setContentType("application/pdf"); 然后再获得数据输出流。
集成性和 web 发布
启动 Tomcat 的时候数据源绑定出错是什么原因 答:tomcat 不同版本的数据源 jndi 设置方式不相同,首先请参考 tomcat 相关配置手册,确 认 tomcat 的数据源配置正确。 另外需要特别注意的是在配置数据源之后, 启动 tomcat 之前需要把相关的 jdbc 驱动 jar 包拷 贝 到 tomcat 的 系 统 库 目 录 下 面 , 例 如 tomcat5 需 要 将 相 关 的 jar 包 拷 贝 到 <tomcat_home>/common/lib 下面,否则会报找不到 jdbc 的相关类的错误 其次, 查看 web 应用目录下/WEB-INF/web.xml 文件里配置的 datasource 的名称和您实际配 置的 tomcat 数据源名称是否一致
常见错误信息
out of memery error 内存溢出 答: 该问题可能是由于 web 服务器 java vm 的内存设置太小, 也可能是由于报表数据量过大; 解决办法: 1、 java 虚拟机的设置:java -Xms128m -Xmx384m,根据实际机器的内存配置,灵活调 整 2、 如果虚拟机设置后依旧出现内存溢出,可能是你的报表数据量过大,可以采取数据 集分页的办法或者数据集缓存的办法解决,如下图所示:
如何实现模糊查询? 答:需要模糊时,在 sql 中使用"like ?",然后在参数 tab 页中写上"%"+arg1+"%",如下图所 示:
sql 语句中使 用?
参 数 tab 页 中 使 用 "%"+arg1+"%"
我希望用户不输入参数值时,相当于全部选出,该怎么做? 答:在 sql 中使用 where coln=? or ? is null 等类似的语句
选中 B1 单元格,点击右键在弹出菜单中选择“数据类型及编辑风格” ,在弹出窗口中 设置其编辑风格为“下拉列表框” ,编辑代码值和显示值如下图所示:
选中 D1 单元格,点击右键在弹出菜单中选择“数据类型及编辑风格” ,在弹出窗口中 设置其编辑风格为“下拉数据窗口” ,编辑各项如下图所示:
最后保存此报表,完成参数表单的定制。 现在来看如何在网页中发布,如下 JSP 文件所示: <%@ page contentType="text/html;charset=GBK" %> <%@ taglib uri="/WEB-INF/runqianReport.tld" prefix="report" %> <html> <body>
参数和宏
参数在 SQL 语句中如何使用? 答:在 sql 语句中需要用到参数的地方,写上"?",然后在参数的 tab 页中,根据?的顺序, 依次写入含参数或者不含参数的表达式,如下图所示:
sql 语句中写上 问号
根据问号顺序写 入含参数的表达 式
参数能在单元格中使用吗?和在 SQL 语句中的用法有什么区别? 答:可以,直接引用参数名即可,把参数作为表达式的一个变量来使用,例如:=arg1+1
在此报表中,输入参数名标签,删除多余的行列后,如下图所示:
使 A1、C1、E1 单元格的“是否可写”属性为 false,将此报表存为 studentParam.raq。 选中 B1 单元格,在右边的属性列表中“参数名/JSP 引用变量名”填入此格对应的报表 参数名 sex,如下图所示。同样,对 D1 填入 class,F1 填入 month。
WEB 发布时,如果我自己定制参数输入页面,如何把参数值传递给报表? 答:在 jsp 中获得参数值,然后先在 JSP 代码中将参数串拼好,再传入 Tag 中,如下所 示: <% String params = "param1=" + value1 + ";param2=" + value2 + ";" … … ";macro1=" + value1 + … … %> <report:html … … params="<%=params%>" …… />
宏和参数有什么区别?怎么使用宏? 答:参数是有数据类型的变量,在报表运算过程中作为变量来使用。宏是一个字符串标识, 没有数据类型,报表运算之前,引擎会搜索报表定义,检索到宏名,替换成宏值,全部替换 结束后,才进行报表运算。 宏的引用方式:${macroName} 宏和参数在网页中如何传递? 答:方法一:通过 tag 标签来传递, <report:html … … params="param1=value1;param2=value2;… … ;macro1=value1;… … " …… /> 参数及宏的个数应该与报表中的参数及宏个数相同,参数名及宏名大小写一致。 如果参数值或宏值是变化的,那么应该先在 JSP 代码中将参数串拼好,再传入 Tag 中, 如下所示: <% String params = "param1=" + value1 + ";param2=" + value2 + ";" … … ";macro1=" + value1 + … … %> <report:html … … params="<%=params%>" …… />
相关主题